FAQ - Was kann ich tun, wenn der Apache-Webserver keine Seiten mehr anzeigt?

 
 
Sollte auf Ihrem Server der Apache-Webserver keine Webseiten mehr ausliefern, so kann dies daran liegen, dass alle zur Verfügung stehenden Verbindungen ausgelastet sind.

Der Apache-Webserver stellt eine bestimmte Anzahl von Verbindungen bereit, über die Anfragen abgewickelt werden können. Jedes Mal, wenn ein Client den Webserver kontaktiert, belegt dies eine dieser Verbindungen. Sollten mehr Anfragen beim Webserver eingehen, als Verbindungen zur Verfügung stehen, so wird die Anfrage in eine Warteschlange eingestellt. Sobald eine Verbindung frei wird, entnimmt der Apache eine Anfrage aus der Warteschlange und verarbeitet diese.

Solange die Anfragen in dieser Warteschlange stehen, sieht man im Browser nur, dass die Seite lädt. Inhalte werden im Browser erst sichtbar, wenn die Verbindung vom Webserver verarbeitet wird. Steht die Verbindung zu lange in dieser Warteschlange, ohne das der Webserver diese Verarbeiten kann, bricht der Browser die Verbindung zum Server ab und meldet, dass die Verbindung zum Server fehlgeschlagen ist.

Wenn auf Ihrem Server zu wenig Verbindungen zur Verfügung stehen, schreibt der Webserver eine entsprechende Warnung in sein Logfile.
Mit dem Befehl grep MaxClients /var/log/httpd/error_log können Sie die Logdatei des Webservers auf solche Probleme hin durchsuchen. Sollten dabei die Meldung server reached MaxClients setting, consider raising the MaxClients setting erscheinen, so stellt Ihr Webserver zu wenig Verbindungen zur Verfügung.

grep MaxClients error_log
[Mon Jun 17 17:19:21 2013] [error] server reached MaxClients setting, consider raising the MaxClients setting
[Mon Jun 17 17:28:29 2013] [error] server reached MaxClients setting, consider raising the MaxClients setting
[Thu Jun 20 09:10:26 2013] [error] server reached MaxClients setting, consider raising the MaxClients setting
[Thu Jun 20 15:07:21 2013] [error] server reached MaxClients setting, consider raising the MaxClients setting
[Thu Jun 20 16:02:43 2013] [error] server reached MaxClients setting, consider raising the MaxClients setting



In der Datei /etc/httpd/conf/httpd.conf können Sie die Anzahl der zur Verfügung stehenden Verbindungen erhöhen. Die Einstellung MaxClients innerhalb des Blocks <IfModule prefork.c> oder <IfModule mpm_prefork_module> ist hierfür verantwortlich. Je nach Version dieser Konfigurationsdatei taucht einer der beiden Blöcke auf.

Der Apache-Webdienst sieht wie folgt vor:
<IfModule prefork.c>

StartServers         8   

MinSpareServers      5   

MaxSpareServers     20

ServerLimit         250 

MaxClients          250

MaxRequestsPerChild 4000

</IfModule>

Passen Sie den Wert für MaxClients entsprechend an.
Sollten Sie viele Webseiten auf Ihrem Server hosten, so empfiehlt es sich, einen Wert zwischen max. 100 - 200 für MaxClients zu setzen.

Wichtiger Hinweis, wenn Sie Parallels Plesk installiert haben

Plesk überschreibt eine Reihe der Einstellungen die in /etc/httpd/conf/httpd.conf gesetzt sind. Die Datei befindet sich in /etc/httpd/conf.d/swtune.conf
Passen Sie diese Datei an um die Anzahl MaxClients anzupassen.

Nach der Änderung der Datei sollten Sie den Webserver mit dem Befehl service httpd restart neu starten.

Add Feedback