Apache Prozesse werden nicht abgebaut

  • Themenstarter Themenstarter Willüüü
  • Beginndatum Beginndatum
W

Willüüü

Guest
Hallo,

ein Kunde von uns ist der festen Überzeugung, dass einer unser Webserver ein Problem hat und Apache Prozesse nicht korrekt abbaut. Ich möchte dem Kunden jetzt klarmachen, dass seine Applikation dafür verantwortlich ist.

Eingesetzt wird ein Apache 2.2.0 und PHP 5.2.3. Die MaxClients sind bereits auf 500 erhöht. Diese waren noch auf 256 eingestellt. Oft ist es so, dass der Load ansteigt und die Apache Prozesse am Anschlag sind, die Datenbank hat zu der Zeit keine besondere Last: show processlist; zeigt keine klemmenden Abfragen. Der Kunde ist der festen Meinung bei Ihm ist alles in Ordnung, eventuell server-status einrichten und wenn der Load ansteigt schauen, auf was muss ich da jedoch genau achten?

Wisst ihr was ich noch genau machen bzw.wie ich das am besten nachstellen kann?

Vielen lieben Dank

Gruß
 
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 501
MaxClients 500
MaxRequestsPerChild 0
</IfModule>


Was bedeuten denn die MaxRequestperChild genau? Hier muss doch der Kunde eventuell eine Empfehlung geben?

Gruß
 
Bei unendlich erlaubten Requests pro Prozess ist es klar, dass die Worker-Prozesse nicht aktualisiert werden. Dieser Wert legt nämlich fest wieviele Requests ein Worker-Prozess abarbeiten soll bevor er sich zerstört und ein neuer aufgebaut wird. Gerade bei Webservern, die PHP-Skripte parsen, sollte dieser Wert nicht über 50 sein, da PHP ein Memory-Leak hat, das sonst zur Überlastung der Server führt. Der Kunde scheint also Recht zu haben, denn ich würde auch erstmal darauf tippen, dass es an dieser Einstellung liegt. Worker-Prozesse müssen immer mal wieder aktualisiert werden, sonst werden auch "überhängende" Apache-Prozesse nie abgebaut.
 
Hi,

deine Empfehlung hier? Den Wert auf 50 einstellen?

Gruß
 
Eine Empfehlung werde ich nicht machen solange ich nicht weiss wie stark die Anzahl der Requests schwankt und wieviele Requests pro Sekunde auf der Plattform eintreffen. Vielleicht ist ja nichtmal Preforking die richtige Wahl. 0 ist jedenfalls nicht brauchbar. Ein Wert zwischen 10 und 50 ist üblich.
 
Zurück
Oben