Skocz do zawartości
Zaloguj się, aby obserwować  
Ranma_man

Procesy mysql

Polecane posty

Mam następujące pytanko. Otóż nie wiem czemu ale od 18:00 do 21:00 moj serwer czasem ma okropnie wysoki load rzedu parudziesiat. PS nie wykazuje konkretnych przyczyn mulenia, iowait natomiast ostro idzie w gore. Wystarczy tylko, ze przeresetuje mysql'a i wszystko wraca do normy. Dlatego tez zainstalowalem sobie toolsy mtop i mytop (pozostawmy kwestie ustawien mysql'a na kiedy indziej). Zauwazylem, ze oba pokazuja mi od paru do parunastu (lista powoli wzrasta) procesow mysql ze statusem sleep z time stale rosnacym (rzedu pareset, paretysiecy). Chodzi mi wlasnie o czas dzialania takiego procesu, jaka jest norma? Kiedy zaczac je killowac? Zadnych mulacych zapytan nie ma (raptem duze forum ipb i pare home made skryptow).

 

Probowalem juz roznych ustawien mysql'a i nic, zawsze musi o jakiejs tam porze zamulic sie na smierc. Po resecie serwisu mysql chodzi znowu wszystko bez zarzutow. Wersja mysql 4.0.24. A co do slow queries to nie ma, jak zaczyna sie przeciazac, to moga byc nimi losowe zapytania.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość patrick

Upgrade na mysql 4.1.x plus poszukaj w google ustawien pliku my.cnf oraz mozesz zmniejszyc taimingi w php :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Trochę za późno te odpowiedzi, ponieważ już sobie poradziłem, ale i tak dzięki. Błędy w skryptach oczywiście wykluczam, które były wielokrotnie optymalizowane i w ogóle w logach nie doszukałem się niczego poważnego. Ale za to zmniejszyłem znacznie liczbę procesów na każdego childa apache'a i pomogło. Różnica przeogromna. Możliwe, że jest gdzieś wyciek pamięci spowodowany przez któryś z jego modułów, ale jeszcze tego nie zlokalizowałem.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Generalnie apache tworzy subproces (w rpzeciwienstwie do caudiuma, ktory dziala na watkach), a to pozera ramu.

 

ZDECYDOWANIE poprawia sie wydajnosc servera, zmiejszajac keepalive w httpd.conf z default 15 na 2. Strona ktora ma 3-4MLN odslon na miesiac spokojnie dziala na celku 3Ghz+1gb ramu+512mb swap zostawiajac jeszcze zasoby.

 

mozna tez manipulowac max clients aby zobaczyc ile m/w wytrzyma nasz server.

 

to proste ogranicenie apachowi czasu zycia i czekania subprocesow NAPRAWDE daje wielkiego kopa.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość adamszendzielorz
to proste ogranicenie apachowi czasu zycia i czekania subprocesow NAPRAWDE daje wielkiego kopa.

 

Racja. Ja jestem zwolennikiem zmniejszenia mocno timeouta dla keepalive'a - na niektorych bardziej obciazonych serwerach wrecz mam wylaczony keepalive calkowicie i odpowiednim zmniejszeniem MaxClients. Teoretycznie moznaby pomyslec, ze zmniejszenie maxclients to obnizenie liczby obslugiwanych klientow - ale nic bardziej mylnego -> jednoczesnie wykonywanych jest przeciez mniej skryptow, wiec wykonywane sa szybciej. Maszyna ma mniejsza tendencje do skokow load average i ogolnie jest bardziej stabilna :)

 

A wylacznie calkowite keepalive'a coprawda zwieksza obciazenie, bo generowanych jest przeciez wiecej czildow niz normalnie - ale z drugiej strony spada obciazenie CPU potrzebne na obliczanie mechanizmu keepalive'a :)

 

Z praktyki.. ostatnio wylaczylem na maszynie keepalive, zmniejszylem MaxClients z 256 do 120 i LA spadlo gdzies pieciokrotnie, strony laduja sie wyraznie szybciej, no i nawet w porze maksymalnego obciazenia nie tworzy sie kolejka klientow do obsluzenia, tylko wszystko obslugiwane jest na biezaco! Przy czym wczesniej w porze obciazenia zwykle zajetych bylo grubo ponad 200 czildow..

 

Tyle z mojej strony :(

pozdr.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość
Temat jest zablokowany i nie można w nim pisać.
Zaloguj się, aby obserwować  

×