WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Apache startar över 200 processer (https://www.wn.se/forum/showthread.php?t=14474)

gabriel 2006-06-05 22:32

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?

kullervo 2006-06-05 22:49

Ä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)?

gabriel 2006-06-05 23:14

Citat:

Originally posted by kullervo@Jun 5 2006, 23:49
Ä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)?

Nja rimligt e de väl inte då den aldrig gjort så tidigare (webbservern har 30000 besökare per dygn men jag kan inte minnas att de e så många processer samtidigt sen innan)
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...

kullervo 2006-06-05 23:29

Swappar burken? Om du sänker keepalive-tiden minskar antalet httpd-processer.

gabriel 2006-06-06 00:57

Citat:

Originally posted by kullervo@Jun 6 2006, 00:29
Swappar burken? Om du sänker keepalive-tiden minskar antalet httpd-processer.


Verkar inte minska laddningstiderna för sidorna, är alltså grymt segt på sistonde, verkar som nått script hänger sig eller nått, men då e frågan hur jag enklast får reda på vilket de kan vara...

jomper 2006-06-06 01:42

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.

Spirre 2006-06-06 01:53

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.

kullervo 2006-06-06 10:51

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.

gabriel 2006-06-06 15:49

Citat:

Originally posted by kullervo@Jun 6 2006, 11:51
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.

Ändrade lite till och kör keepalive på 1 sekund också men de blir inte mycket bättre,snarare segare laddning av sidorna... måste vara nått script som går segt på servern så jag får nog börja felsöka i den ändan, för tidigare har det aldrig varit några problem med sidan och dessa inställningarna...

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


gabriel 2006-06-08 16:53

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

Blir ett antal sånna rader exakt hela tiden...


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.


Alla tider är GMT +2. Klockan är nu 21:04.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson