open-how2 – Entdecke. Verstehe. Nutze.
Veröffentlicht am
How2-Tipps

Apache Performance optimieren – Caching, MPM & GZIP

Autor
Apache Performance optimieren – Caching, MPM & GZIP

So machst du deinen Webserver richtig schnell und effizient

Der Apache HTTP Server ist einer der meistgenutzten Webserver der Welt – stabil, flexibel und vielseitig. Doch von Haus aus ist er nicht unbedingt auf maximale Geschwindigkeit optimiert. Mit den richtigen Einstellungen und Modulen kannst du jedoch Ladezeiten drastisch reduzieren, Ressourcen sparen und mehr gleichzeitige Nutzer bedienen.

In diesem Artikel erfährst du, wie du deinen Apache mit Caching, Multi-Processing-Modulen (MPM) und GZIP-Komprimierung auf Höchstleistung bringst – praxisnah und einfach nachvollziehbar.

Warum Performance-Tuning wichtig ist

Schnelle Ladezeiten sind heute Pflicht:

  • Sie verbessern das Nutzererlebnis
  • Senken die Absprungrate (Bounce Rate)
  • Und sind ein Ranking-Faktor bei Google

Ein nicht optimierter Apache kann unter Last schnell träge reagieren – vor allem bei vielen gleichzeitigen Zugriffen oder dynamischen Websites wie WordPress oder TYPO3. Mit gezielten Anpassungen lässt sich aber auch aus älteren Servern noch viel Leistung herausholen.

1. Das richtige Multi-Processing-Modul (MPM) wählen

Apache kann Anfragen auf verschiedene Arten abarbeiten. Dafür gibt es sogenannte MPMs (Multi-Processing Modules). Sie bestimmen, wie Apache Prozesse und Threads verwaltet.

Prefork MPM

  • Jeder Request bekommt einen eigenen Prozess
  • Sehr stabil, aber speicherhungrig
  • Standard für alte PHP-Integrationen (mod_php) Empfohlen: Nur bei älteren Systemen oder speziellen PHP-Setups

Worker MPM

  • Arbeitet threadbasiert, mehrere Anfragen pro Prozess
  • Effizienter im Speicherverbrauch
  • Gute Mischung aus Stabilität und Performance

Event MPM

  • Modernste Variante, arbeitet asynchron
  • Hervorragend für stark frequentierte Seiten
  • Ideal mit PHP-FPM statt mod_php

Wechsel auf das Event-MPM (Ubuntu/Debian):

sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
sudo systemctl restart apache2

2. GZIP-Komprimierung aktivieren

GZIP sorgt dafür, dass HTML-, CSS-, JS- und Textdateien komprimiert an den Browser geschickt werden. Dadurch werden Datenübertragungen deutlich kleiner – oft um 70–80 %.

Aktivierung (Debian/Ubuntu):

sudo a2enmod deflate
sudo systemctl restart apache2

Beispielkonfiguration (/etc/apache2/conf-available/deflate.conf):

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
    AddOutputFilterByType DEFLATE text/javascript application/javascript
    AddOutputFilterByType DEFLATE application/json application/xml
    AddOutputFilterByType DEFLATE application/x-font-ttf font/opentype
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
</IfModule>

Tipp: Prüfe die GZIP-Aktivierung auf https://tools.keycdn.com/http2-test oder https://checkgzipcompression.com

3. Caching aktivieren

Caching ist einer der wichtigsten Hebel für Performance. Apache bietet mehrere Varianten:

mod_expires – Browser-Caching

Ermöglicht, dass Dateien wie Bilder, CSS oder JS im Browser-Cache gespeichert werden.

sudo a2enmod expires

Beispielkonfiguration:

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType text/css "access plus 1 week"
    ExpiresByType application/javascript "access plus 1 week"
</IfModule>

Ergebnis: Der Browser muss statische Dateien nicht bei jedem Aufruf neu laden.

mod_cache & mod_cache_disk – Serverseitiges Caching

Speichert dynamisch generierte Inhalte (z. B. PHP) zwischen, um sie bei erneutem Zugriff schneller zu liefern.

sudo a2enmod cache
sudo a2enmod cache_disk
sudo systemctl restart apache2

Beispielkonfiguration:

<IfModule mod_cache.c>
    <IfModule mod_cache_disk.c>
        CacheRoot /var/cache/apache2/mod_cache_disk
        CacheEnable disk /
        CacheHeader on
        CacheDefaultExpire 3600
        CacheMaxExpire 86400
    </IfModule>
</IfModule>

4. KeepAlive und Kompression optimieren

KeepAlive erlaubt, mehrere Anfragen über dieselbe TCP-Verbindung zu senden – das reduziert den Verbindungsaufwand.

Beispielkonfiguration:

KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 3

Kombiniert mit GZIP und Caching sorgt das für spürbar kürzere Ladezeiten.

5. Weitere Performance-Tipps

Maßnahme Beschreibung
HTTP/2 aktivieren Ermöglicht parallele Übertragung mehrerer Dateien über eine Verbindung.
sudo a2enmod http2
mod_headers nutzen Cache-Control und Kompressionsheader setzen
Komplexe Rewrite-Regeln prüfen Überflüssige .htaccess-Einträge verlangsamen Apache
Logfiles reduzieren Zu hohe Log-Level erzeugen unnötige I/O-Last
Content Delivery Network (CDN) Externe statische Inhalte über CDN ausliefern

Beispiel: Messbare Verbesserung

Ein einfacher Benchmark mit ab (ApacheBench) zeigt:

Test Vorher Nachher
Durchschnittliche Antwortzeit 250 ms 90 ms
Datentransfer pro Sekunde 4 MB/s 9 MB/s
Gleichzeitige Requests (100) 70 % erfolgreich 100 % erfolgreich

Ergebnis: Mehr als doppelte Geschwindigkeit, deutlich weniger Serverlast.

Die Performance deines Apache hängt nicht von teurer Hardware ab, sondern von der richtigen Konfiguration. Mit einem modernen MPM, aktivierter Komprimierung und sinnvollem Caching verwandelst du deinen Webserver in ein echtes Kraftpaket – effizient, schnell und stabil.

**Kleine Änderungen, große Wirkung. **