Apache2 Workshop Performance-Tuning

Aus Xinux Wiki
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.