Konfigurationshinweise für einen Stand-Alone Webserver
Nachdem der Apache Web-Server mit den benötigten Modulen und dem zusätzlichem PHP-Modul installiert ist, geht es nun an die Konfiguration.
In der Konfigurationsdatei des Apache Web-Servers namens httpd.conf gibt es neben den DocumentRoot angaben für die Webseite auch Directiven um einzustellen wieviel Web-Server Prozesse von beginn an gestartet werden sollen, und wieviele Prozesse maximal laufen dürfen.
Derzeit wird beim Kompilieren des Apache Web-Servers unter FreeBSD ein Maximum von 256 Kind-Prozessen angegeben. Dieses läßt sich aber beim Kompilieren anpassen. Stichwort: HARD_SERVER_LIMIT in der Datei httpd.h.
Man sollte beim einstellen der Server-Werte darauf achten das jedesmal wenn ein neuer Kind-Prozess gestartet wird, dafür entsprechende CPU-Zeit drauf geht. Die Module müssen geladen werden, der Speicher muss allokiert werden und so weiter und so weiter. Die Werte sollten also möglichst so eingestellt werden das entweder immer die gleiche Anzahl von Kind-Prozessen läuft, oder die Spanne sollte so gewählt sein das es nur selten dazu kommt das neue Kind-Prozesse gestartet werden müssen.
Ähnliches gilt auch beim neustarten eines Kind-Prozesses. Wenn ein Kind-Prozess die “MaxRequestsPerChild”-Grenze überschritten hat, wird der Kind-Prozess gestoppt und ein neuer gestartet. Wenn man keine Memoryleaks in seinen Skripten oder in einem der Module erwartet, sollte man diese Grenze möglichst hoch ansetzen um bei späteren Hochlasten der Server nicht unnötig viel CPU-Zeit in das Stoppen und Starten von Prozessen stecken zu müssen.
Auch sollten solche Optionen wie “FollowSymLinks” oder “Override All” dringenst deaktiviert werden. FollowSymLinks bewirkt das bei jedem Aufruf einer URL der Webserver erstmal überprüfen muss ob im daraus resultierenden Server-Pfad ein Symbolischer Link liegt.
Wenn “Override” einen anderen Wert als “None” hat, überprüft der Web-Server in jedem Verzeichniss welches man durchläuft ob es eine “.htaccess”-Datei finden kann, die irgendwelche Optionen überschreibt.
Beides verursacht bei häufig aufgerufenen Webseiten eine enorme File-System last die vermieden werden sollte.

Einträge (RSS)