Apache2 Workshop Performance-Tuning
Zur Navigation springen
Zur Suche springen
Apache2 Performance-Tuning
- Apache bietet verschiedene Möglichkeiten zur Optimierung der Performance.
- Durch Anpassungen der MPM-Module, KeepAlive, Caching und Kompression kann die Geschwindigkeit verbessert werden.
- Die Konfiguration erfolgt über /etc/apache2/apache2.conf oder individuelle VirtualHosts.
Multi-Processing Module (MPM)
- Apache nutzt verschiedene MPMs (Multi-Processing Module), um Anfragen zu verarbeiten:
* prefork – Jeder Client erhält einen eigenen Prozess. Geeignet für ältere PHP-Anwendungen. * worker – Nutzt Threads statt Prozesse. Effizienter bei vielen gleichzeitigen Anfragen. * event – Weiterentwicklung von worker, besonders gut für statische Inhalte.
- Aktuelles MPM prüfen:
- apachectl -V | grep MPM
- Beispiel für MPM-Optimierung (/etc/apache2/mods-available/mpm_event.conf):
<IfModule mpm_event_module>
StartServers 2
MinSpareThreads 25
MaxSpareThreads 75
ThreadLimit 64
ThreadsPerChild 25
MaxRequestWorkers 150
MaxConnectionsPerChild 5000
</IfModule>
- Apache neu starten nach Änderungen:
- systemctl restart apache2
KeepAlive aktivieren
- KeepAlive reduziert die Verzögerung bei mehreren Anfragen vom selben Client.
- Aktivierung in /etc/apache2/apache2.conf:
KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 5
Kompression aktivieren (mod_deflate)
- Reduziert die Datenmenge und verbessert die Ladezeiten.
- Modul aktivieren:
- a2enmod deflate
- Beispielkonfiguration /etc/apache2/mods-available/deflate.conf:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
</IfModule>
Caching aktivieren (mod_cache)
- Apache kann statische Inhalte zwischenspeichern.
- Modul aktivieren:
- a2enmod cache cache_disk
- Beispielkonfiguration /etc/apache2/mods-available/cache.conf:
<IfModule mod_cache.c>
CacheEnable disk /
CacheRoot /var/cache/apache2
CacheDirLevels 2
CacheDirLength 1
</IfModule>
Aufgaben
- Prüfe, welches MPM aktiv ist und wechsle zu event.
- Aktiviere KeepAlive und optimiere die Timeout-Werte.
- Richte Kompression mit mod_deflate ein und teste die Verbesserung.
- Implementiere Caching und überprüfe die Wirkung mit statischen Dateien.
Warum ist Performance-Tuning wichtig?
- Schnellere Ladezeiten verbessern die Nutzererfahrung.
- Reduzierte Serverlast ermöglicht mehr gleichzeitige Anfragen.
- Weniger Bandbreitenverbrauch verringert Kosten und Netzwerklast.