Pokles vykonu Apache/PHP4/MySQL

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Pátek Duben 30 10:02:19 CEST 2004


On Wed, 28 Apr 2004, Pavel Lisy wrote:

> Ve snaze najit, kde je problem, jsem zacal delat zatezove testy na jinem
> stroji (v lokalni siti) se stejnou HW a SW konfiguraci. Vysledky ukazuji
> stale stejne chovani. 

Rikate, ze to dokazete reprodukovat? Tak je to dobre, to je pulka
vyresena.

> Server zacne nabirat klienty, procesory jedou na 100% a ubyva mu volna
> pamet. V situaci, kdy mu zbyde asi 25-30 MB, zacne swapovat load narusta
> a vykon jde pomalu dolu. To mi prijde normalni. Potom ale dojde k
> "podivnemu" chovani. At server swapuje nebo ne (pokud nastavim nizky
> MaxClients), dojde po urcite dobe 100 vytizeni k uvolneni velkeho
> mnozstvi pameti (cca 100MB), poklesu vytizeni procesoru na 50%, ale
> pocet klientu httpd se nemeni a server v podstate prestava reagovat
> (reaguje radove pomaleji).

Zajimavy je ten pokles vytizeni CPU na 50 %. To znamena, ze to drhne nekde
mimo CPU. Urcite neni nikde ucpane I/O? Mozna by neco naznacilo, kdyby se
ty Apacovy procesy v tomto stavu protrasovaly, protoze musi nekde na 
neco cekat.

Zajimavy je take ten pokles spotreby pameti o 100 MB. Zkuste zjistit, kdo
tu pamet uvolnil: Apache? jeden proces nebo ruzne jeho procesy? nekdo
jiny? Nechcipnul nahodou nejaky proces provadejici nejakou podpurnou
cinnost (treba DNS cache), coz nasledne zpomalilo vyrizovani prichozich
pozadavku?

> Pidil jsem se po vysvetleni a nejpravdepodobnejsi mi pripada, ze apache
> kvuli korektnimu ukonceni TCP spojeni pomalu uvolnuje volne procesy
> (klicove termin je "Lingering Close").

To asi ne. Kvuli tomu zustavaji viset ta spojeni (v jakemsi zombickem
stavu), ale neni duvod, proc by s nim mel prezivat i obsluzny proces.
Muzete zkusit Apache presvedcit, aby na tech socketech nastavoval
SO_LINGER na 0, ale nemyslim, ze to vyresi Vas problem.


--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."





Další informace o konferenci Linux