FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Flitig postare
|
Av någon anledning har Apache helt plötsligt fått fnatt och startar massa processer (kör FreeBSD 6/ Apache 1.3 / PHP 5 - Har testat att uppgradera Apache / PHP)
Har testat att ändra i httpd.conf: MaxClients till 15 som max (default är 150) men ändå lyckas den starta runt 200 st... Så jag hade behövt tips på vad som kan vara fel, inget nytt är gjort på servern, eventuellt kan det vara nått php script eller nått, men hur felsöker man det smidigt? |
||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Bara ett inlägg till!
|
Är det ens rimligt att den skulle starta 200 om den fick göra det? Hsh så låter det där helskumt. Har du verifierat att apache använder den config-filen? Kontrollerat att du inte sätter MaxClients fler gånger (längre ner i filen eller i fil som inkluderas)?
|
|||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Flitig postare
|
Citat:
Jo den använder filen, då den läser in annat som bara ligger i den filen så som vhostar m.m. och det står bara med 1 gång totalt i alla filer (inkl includes)... Kollade lite nogrannare nu och den har igång 151 eller 152 processer av apache... så det stämmer trots allt, dock är den seg som sirap sen någon vecka tillbaka när den har igång så många processer, tar sådär 1 min att svara på anrop m.m. skall försöka lista ut vad de e för processer mer än httpd som drar igång för om jag stänger av apache så går antalet samtidiga processer ner från 270 till 28... Edit. Kan verkligen inte hitta några fler processer än normalt när "top" får för sig att räkna till 270 så säger "ps -aux" att httpd är igång 150 ggr och allt annat e precis som innan... Så frågan e var "top" får de övriga 90 processerna från... |
||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Bara ett inlägg till!
|
Swappar burken? Om du sänker keepalive-tiden minskar antalet httpd-processer.
|
|||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Flitig postare
|
Citat:
|
||
![]() |
![]() |
![]() |
#6 | |||
|
||||
Har WN som tidsfördriv
|
Sätter du maxklients till 15 lite keepalivetid så kommer du få grymt långa svarstider om du har lite samtidiga besökare.
Hur mkt minne har du i webservern? Om du har såpass mycket besökare att minnet tar slut och burken börjar swappa så blir det gärna segt. |
|||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Medlem
|
hmm, titta startservers o maxservers i httpd.conf
sen bör du kika på eaccelerator om du inte kör det ger fina preformance vinster i php. |
|||
![]() |
![]() |
![]() |
#8 | |||
|
||||
Bara ett inlägg till!
|
OMG. Jag måste ha läst tokigt tidigare. Om du har 30000 besökare per dygn så är förmodligen 150 apache-processer för lite (helt beroende hur lång keepalive du har men du verkar köra med default på 10 sekunder). Därav de långa laddtiderna (anslutningar läggs på kö).
På en server jag sköter om är det ca. 1000 besökare online samtidigt (timeout på 40 minuter). Den kör Apache 1.3 och jag har satt keepalive på 1 sekund. Antalet processer ligger då närmare 256 som är max om man inte ändrar en konstant i apache.h. |
|||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Flitig postare
|
Citat:
Har aldrig behövt söka efter dessa fel tidigare så jag är inte så insatt i hur jag får reda på vilka script som eventuellt är sega... Kod:
Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15 MinSpareServers 5 MaxSpareServers 10 StartServers 5 MaxClients 150 MaxRequestsPerChild 0 |
||
![]() |
![]() |
![]() |
#10 | ||
|
|||
Flitig postare
|
Hittat lite felmeddelanden som jag missat tidigare, säger iof inte så mycket men så här ser loggen ut när den hänger sig...
Kod:
[Thu Jun 8 12:26:03 2006] [warn] child process 5785 still did not exit, sending a SIGTERM [Thu Jun 8 12:26:03 2006] [warn] child process 5796 still did not exit, sending a SIGTERM [Thu Jun 8 12:26:03 2006] [warn] child process 5797 still did not exit, sending a SIGTERM [Thu Jun 8 12:26:03 2006] [warn] child process 5798 still did not exit, sending a SIGTERM [Thu Jun 8 12:26:03 2006] [warn] child process 5799 still did not exit, sending a SIGTERM [Thu Jun 8 12:26:03 2006] [crit] (48)Address already in use: make_sock: could not bind to port 80 [Thu Jun 8 12:26:07 2006] [error] child process 5516 still did not exit, sending a SIGKILL Har bytt minnen (så trassiga e dom inte) och passade samtidigt på att instsallera extra minne eftersom swappen ibland började användas men det hjälpte inte. |
||
![]() |
![]() |
Svara |
|
|