Skocz do zawartości
Zaloguj się, aby obserwować  
Gość Adam Szendzielorz

tuning linuxa (kernel?)

Polecane posty

Gość adamszendzielorz

Witam!

 

Tak sobie czytalem archiwum i koder wspomnial o konfiguracji w ktorej nie marnuja sie context switche. No wlasnie kurcze nigdy w swojej karierze nie probowalem zmieniac konfiguracji tego (bo nawet nie wiem czy sie da ?:) A u mnie procek skacze z procesu na proces jak oszalaly (CS wdlg vmstat nawet czasem dochodzi do 5-6 tys / sek wiec chyba troszke za duzo biorac pod uwage ze nowych forkowanych procesow (a te glownie zabieraja caly CPU (php etc) jest ledwo kilkadziesiat / sek :)

 

Da sie gdzies sterowac czestotliwoscia tegoz ?

Ide wertowac zrodla kernela :)

 

Tego tematu jeszcze chyba tutaj nie bylo wiec proponuje jezeli ktos ma wiedze nad czym (nawet nie jak!) moznaby tu popracowac zeby troche poprawic "osiagi" naszych leniuszkow - prosze pisac! :) Na pewno przyda sie wszystkim.

pozdr.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

No u mnie cs dochodzi do 20000 przy okolu 60 zapytan do apache'a na sekunde (mimo, ze to jest mod_php to kazdy proces apache'a robi setuid na danego usera a pozniej konczy zycie).

 

Jak Ci sie uda to zoptymalizowac to daj znac prosze, bede mogl meczyc mojego glownego admina, ze da sie to zrobic i ze sa zywe przypadki w Polsce :)

Albo w sumie juz go teraz pojde meczyc.

 

pzdr.

 

ps. strasznie ostatnio robie offtopic w roznych watkach :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
ertcap, dla kazdego requesta forkujesz apacza ??

Tak.

 

Przychodzi zapytanie -> setuid -> obsluzenie zapytania (z podaniem wszystkich obrazkow itd) -> przytrzymanie polaczenia gdyby user chcial dalej ssac -> koniec procesu -> podniesienie nowego childa -> goto 1 :)

 

Troche to obciaza system ale dzieki temu pozbylismy sie biegania serwera www na jednym wspolnym userze oraz nie musielismy korzystac z cgi.

 

Ale wrocmy do tematu watku.

 

pzdr.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ha, kiedy tu nie chodzi o to, by CS było mniej, a żeby duża ilość nie obciążała niepotrzebnie maszyny. W skrócie - lookup w tabeli procesów powinien być robiony w O(1).

 

Kernel Linuxowy 2.6 to zapewnia; FreeBSD też ma dobrą opinię, ale akurat ten OS jest poza moją sferą kompetencji.

 

Zwracam uwagę jednak, że CS jest tylko jednym z miejsc, gdzie CPU może się "na darmo" zużywać - polecam lekturę tego artykułu, dość przystępnie prezentuje wąskie gardła systemów w testach produkcyjnych.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość adamszendzielorz
Zwracam uwagę jednak, że CS jest tylko jednym z miejsc, gdzie CPU może się "na darmo" zużywać - polecam lekturę tego artykułu, dość przystępnie prezentuje wąskie gardła systemów w testach produkcyjnych.

 

Dzieki - jak tylko bede mial chwile na pewno sie dokladnie wglebie :)

 

A swoja droga robil ktos kiedys jakies benchmarki porownujace wydajnosc (w srodowisku webhostingowym) np 2 x XEON z wlaczonym i z wylaczonym HT ? Bo niby czemu 4 watki o tej samej mocy co 2 watki mialyby dzialac szybciej (blad.. wydajniej!) skoro w przypadku 4 watkow dochodzi wlasnie marnowanie CPU na m.in. context switching ? Czytalem wiele roznych opinii i kazda jest inna ;-)

pozdr.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość adamszendzielorz
kernel/sched.c

mozesz pobawic sie (zwiekszyc) MIN_TIMESLICE

wiecej:http://josh.trancesoftware.com/linux/linux_cpu_scheduler.pdf

 

No tak, tylko to sie tyczy tylko 2.6.* jak rozumiem ?

Dzieki tak czy inaczej za linka :)

pozdr.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×