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.