- Veröffentlicht am
- • How2-Tipps
Apache Performance optimieren – Caching, MPM & GZIP
- Autor
-
-
- Benutzer
- tmueller
- Beiträge dieses Autors
- Beiträge dieses Autors
-
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. **