This is an old revision of the document!
Apache Prozesse
Was macht welcher Parameter? Wieviel Clients dürfen auf meinen Webserver?
Prozesse:
<IfModule prefork.c> StartServers 5 # Prozesse die sofort gestartet werden aber nicht für Clients Zurverfügung stehen MinSpareServers 5 # httpd Prozesse MaxSpareServers 10 # Prozesse die nicht für Clients Zurverfügung stehen ServerLimit 46 # Fork auf bis Max. 46 Prozesse MaxClients 41 # httpd Prozesse die von Clientanfrangen benutzer werden können MaxRequestsPerChild 8000 # Jeder Prozess wird eleminiert sobald er 8000 Aufgaben erledigt hat. Apache forkt dann neue Prozesse nach (= Selbstbereinigung). <IfModule>
Speicher:
Jeder Apache Prozess braucht ca. zwischen 5-15Mb (kommt drauf an ob PHP und MySQL dabei ist). Jetzt ist es leicht zu berechnen wieviele Prozesse man öffnen kann.
Beispiel man hat auf einem System 500Mb frei für den Apache.
500/15Mb = 33
Das heisst wir können dem Apache 33 Prozesse öffnen lassen wenn PHP und MySQL im Einsatz ist.
Timeout 30 KeepAlive On # Aktiviert den Parameter KeepAliveTimeout. MaxKeepAliveRequest 150 # Max. Anfrage pro geöffneter Verbindung. Danach wird die Verbindung geschloss und wenn nötig eine neue geöffnet KeepAliveTimeout 2 # Eine HTTP-Verbindung bleibt nach dem Abschluss von einem Transfer Max. 2 Sekunden weiter offen. Danach wird sie geschlossen
Beispiel: Eine Webseite hat eine HTML Datei und 10 Bilder. Macht zusammen 11 Requets. Der Besucher bekommt die Seite sehr schnell angezeigt. Klickt er innerhalb von 2 Sekunden nicht auf einen Link, beendet der Apache die Verbindung und der httpd2 Prozess wird für den nächsten Besucher frei.
