Apache-Performance optimieren - Teil 1
Dieser Artikel ist Teil der Apache Server Guide-Reihe:
- Sicherung von Apache auf Ubuntu - Teil 1
- Sicherung von Apache auf Ubuntu - Teil 2
- Apache-Performance optimieren - Teil 1
- Apache Performance optimieren - Teil 2
- Einrichten von namensbasiertem Virtualhost Apache
- Einrichten von IP und Port-Based Virtualhost in Apache
- So richten Sie das Kennwortschutz-Webverzeichnis in Apache ein
- Einrichten von Apache Server mit SSL-Unterstützung unter Ubuntu
- Einrichten von Fail2ban, um Apache vor einem DDOS-Angriff zu schützen
- Wie man Webdav mit Apache auf Ubuntu einrichtet
- Überwachen Sie Apache Web Server mit Mod_status
- So schützen Sie sich gegen DDoS mit Mod_evasive auf Apache Server
Apache ist eine Open-Source-Webserver-Implementierung, und es ist der beliebteste Webserver auf der ganzen Welt. Fast 70% der Webserver im Internet verwenden Apache. Während wir die Leistung des Apache-Servers verbessern können, indem wir zusätzliche Hardware wie RAM, CPU usw. hinzufügen, können wir das gleiche Ergebnis erzielen, indem wir auch die Apache-Konfiguration anpassen.
In diesem Beitrag wird erläutert, wie Sie die Leistung von Apache verbessern können, ohne Ihrem System zusätzliche Hardwareressourcen hinzuzufügen.
Hinweis : Dieses Handbuch wurde auf einem Ubuntu 14.04 Server 14.04 erstellt.
MaxKeepAliveRequests
MaxKeepAliveRequests begrenzt die Anzahl der Anfragen pro Verbindung. Es wird verwendet, um persistente Verbindungen zu steuern. In Ubuntu ist der Standardwert von MaxKeepAliveRequests
100
. Sie können es auf jeden gewünschten Wert ändern. Der empfohlene Wert von MaxKeepAliveRequests
liegt zwischen 50 und 75.
Sie können diesen Wert ändern, indem Sie die Apache-Konfigurationsdatei bearbeiten.
sudo nano /etc/apache2/apache2.conf
Ändern Sie den Wert von 100 auf 60.
MaxKeepAliveRequests 60
Speichern Sie die Datei und starten Sie Apache neu.
sudo /etc/init.d/apache2 neustarten
KeepAliveTimeout
KeepAliveTimeout definiert, wie lange der Server auf die neue Anforderung von verbundenen Clients wartet. Wenn Sie KeepAliveTimeout auf einen hohen Wert setzen, kann dies zu Leistungsproblemen auf einem stark ausgelasteten Webserver führen. In Ubuntu ist der Standardwert von KeepAliveTimeout
15
. Der empfohlene Wert von KeepAliveTimeout
liegt zwischen 1 und 5.
Sie können diesen Wert ändern, indem Sie die Apache-Konfigurationsdatei bearbeiten.
sudo nano /etc/apache2/apache2.conf
Ändern Sie den Wert von 15 in 3.
KeepAliveTimeout 3
Speichern Sie die Datei und starten Sie Apache neu.
MaxClients
Sie legt die Anzahl der gleichzeitigen Verbindungen fest, die bedient werden. Jede neue Verbindungsanfrage wird nach diesem Limit in die Warteschlange gestellt. Sobald ein Prozess freigegeben wurde, wird die in die Warteschlange gestellte Verbindung bereitgestellt. In Ubuntu ist der Standardwert MaxClients
250
. Es wird empfohlen, diesen Wert bei 150
zu 150
.
Sie können diesen Wert ändern, indem Sie die Datei "mpm_prefork.conf" bearbeiten.
sudo nano /etc/apache2/mods-available/mpm_prefork.conf
Ändern Sie den Wert von 250 in 150.
MaxClients 150
Speichern Sie die Datei und starten Sie Apache neu.
MaxConnectionsPerChild
Es wird verwendet, um Prozesse zu recyceln. Wenn dieses Limit auf 0
, ist eine unbegrenzte Anzahl von Anforderungen pro Prozess zulässig. MaxConnectionsPerChild legt das Limit für die Anzahl der Anforderungen fest, die ein einzelner unterordneter Prozess verarbeiten wird. Wenn der angegebene Grenzwert erreicht ist, wird der untergeordnete Prozess beendet. In Ubuntu ist der Standardwert MaxConnectionsPerChild
100
.
Die empfohlenen Werte für diese Einstellung sind:
- virtualisierter Server 300
- Server mit 1-4GB RAM 500
- Server mit 4 + GB RAM 1000
Sie können diesen Wert ändern, indem Sie die Datei "mpm_prefork.conf" bearbeiten.
sudo nano /etc/apache2/mods-available/mpm_prefork.conf
Ändern Sie den Wert von 100 auf 300.
MaxConnectionsPerChild 300
Speichern Sie die Datei und starten Sie Apache neu.
Bleib am Leben
Standardmäßig ist diese Einstellung in Ubuntu auf "On" gesetzt. Wenn der Apache-Server Anfragen von Hunderten und Tausenden von IPs gleichzeitig erhält, sollte diese Einstellung Off
. Es wird empfohlen, diese Einstellung zu deaktivieren, um den Verbindungsdurchsatz zu erhöhen.
Sie können diese Einstellung deaktivieren, indem Sie die Apache-Konfigurationsdatei bearbeiten.
sudo nano /etc/apache2/apache2.conf
Ändern Sie den Wert von On
zu Off.
KeepAlive aus
Speichern Sie die Datei und starten Sie Apache neu.
MinSpareServers und MaxSpareServers
Sie legt die gewünschte minimale und maximale Anzahl von untergeordneten untergeordneten Serverprozessen fest. Es steuert, wie viele unbenutzte Child-Prozesse der Apache am Leben erhält, während er auf weitere Anfragen wartet, um sie zu verwenden. Jeder MaxSpareServers
Prozess verbraucht Ressourcen. Wenn Sie den MaxSpareServers
Wert zu hoch MaxSpareServers
, kann dies zu Ressourcenproblemen führen.
Die empfohlenen Werte für MinSpareServers
sind:
- Virtualisierter Server 5
- Server mit 1-2GB RAM 10
- Server mit 2-4 GB RAM 20
- Server mit 4+ GB RAM 25
Die empfohlenen Werte für den MaxSpareServers
Wert sollten als das Doppelte von MinSpareServers
.
Sie können den MinSpareServers
Wert auf 5
und den MaxSpareServers
Wert auf 10
MaxSpareServers
, indem Sie die Datei "mpm_prefork.conf" bearbeiten.
sudo nano /etc/apache2/mods-available/mpm_prefork.conf
MinSpareServers 5 MaxSpareServer 10
Speichern Sie die Datei und starten Sie Apache neu.
Fazit
Die Konfiguration von Apache für maximale Leistung ist sehr einfach. Sie können auch die Webserveranforderungen verstehen und mit verschiedenen verfügbaren Optionen testen. In meinem nächsten Beitrag finden Sie weitere Tipps zur Optimierung von Apache. Fühlen Sie sich frei zu kommentieren, wenn Sie Fragen haben.