Apache child STATE ufs

Miroslav Lachman 000.fbsd at quip.cz
Thu Oct 15 23:34:16 CEST 2009


Mam tu takovy problem s procesy Apache (2.2.13) na FreeBSD 7.2 amd64.

Pred par dny jsme presouvali webaplikaci na novy HW a dnes se opakovane 
vyskytnul problem, ktery jsem predtim nezaznamenal.

Stoupne load asi an trojnasobek (z 0.7 na 2.5) a nekolik procesu (childu 
Apache s MPM prefork) v topu setrvava pomerne dlouhy cas (sekundy az 
desitky sekund) na prvni pricce a ve sloupci STATE maji "ufs" (a PRI -4).

Tech childu tam takhle je cca 5 - 10, celkove ma Apache okolo 200-300 
childu (je to pomerne hodne navstevovany web)

last pid: 93489;  load averages:  2.36,  2.35,  2.00         up 
4+22:08:16  21:27:57
460 processes: 7 running, 452 sleeping, 1 zombie
CPU:  9.9% user,  0.0% nice, 19.6% system,  0.7% interrupt, 69.8% idle
Mem: 1340M Active, 3410M Inact, 768M Wired, 147M Cache, 399M Buf, 247M Free
Swap: 12G Total, 24K Used, 12G Free

   PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
92718 www         1  -4    0   127M 24924K RUN    3   0:22 16.36% httpd
92557 www         1  -4    0   126M 23468K ufs    6   0:23 13.77% httpd
92694 www         1  -4    0   127M 24908K CPU1   1   0:28 13.57% httpd
91147 www         1  -4    0   127M 24840K ufs    3   0:12 11.77% httpd
91849 www         1  -4    0   127M 24956K ufs    0   0:22  9.86% httpd
93323 www         1  -4    0   127M 24924K ufs    2   0:02  9.86% httpd
91748 www         1  -4    0   127M 25660K ufs    3   0:20  9.18% httpd
91859 www         1  44    0   127M 24412K select 0   0:30  2.39% httpd
98563 mysql      12  44    0   850M   282M ucond  4   0:00  0.88% mysqld
91603 www         1  44    0   127M 25408K select 2   0:02  0.39% httpd
92556 www         1  44    0   127M 25040K select 3   0:01  0.29% httpd
93231 www         1  44    0   127M 25308K select 7   0:01  0.29% httpd
93227 www         1  44    0   127M 24776K select 7   0:01  0.29% httpd
93374 www         1  44    0   127M 24808K select 0   0:00  0.29% httpd


Podle iostat, systat, gstat a tak dale, nejsou disky (gmirror) zatizeny 
na vice nez 50% a podle grafu v MRTG v teto situaci nedochazi ke zvyseni 
zadnych jinych velicin, nez load (CPU usage "sys"). Ostatni veci, jako 
je sitovy provoz, pocet diskovych operaci, obsazene RAM atd. je stale 
stejny - v normalu - takze nevidim zadny duvod, proc by melo dojit k 
takovemu zaseku ve stavu "ufs".
Na serveru je nasazeny mod_proctitle, takze vidim i to, ze tyto 
problemove childy obsluhuji zcela bezne requesty, ktere na ostatnich 
childech prochazeji okamzite a bez problemu.

Web jako celek bezi normalne. Stale zustava dostatek volneho 
procesoroveho casu pro ostatni childy, takze to neni nijak kriticky 
problem. Jde zkratka o to, ze me znervoznuje takovehle nahodne a 
nevysvetlitelne chovani.
Normalni load na serveru je okolo 0.7, ale v pripade skokoveho narustu 
tech nekolika problematickych childu vyleze treba na 2.5-3. V tomto 
stavu vse setrvava, dokud se neprovede restart Apache. Pak je zase na 
nekolik hodin klid. V zadnem logu se nenechazeji zadne zajimave zpravy.

Takze otazka na zaver - napada nekoho, cim to muze byt / jak zjistit, 
proc je child tak dlouho ve stavu "ufs"? (pripadne proc tyto procesy 
maji PRI -4 a ostatni cca 44 - 50?)

Mirek



More information about the Users-l mailing list