PHP-FPM Slowlog ist ein leistungsfähiges Werkzeug, um langsame PHP-Skripte und Performance-Bottlenecks direkt auf Serverebene zu identifizieren – ohne den Einsatz teurer Application Performance Monitoring (APM)-Tools. In diesem Artikel erfahren Sie praxisnah, wie Sie Slowlog konfigurieren, analysieren und Ihre PHP-Anwendungen dadurch nachhaltig optimieren können.
PHP-FPM Slowlog aktivieren
Die Slowlog-Funktion protokolliert alle PHP-Skripte, die eine definierte Ausführungszeit überschreiten. Sie ist besonders nützlich, um Engpässe in Webanwendungen zu erkennen.
Konfiguration in der Pool-Datei
Jeder PHP-FPM-Pool hat eigene Einstellungen. Standardmäßig liegen die Pool-Konfigurationen unter /etc/php/8.2/fpm/pool.d/.
[www]
; Pfad zur Slowlog-Datei
slowlog = /var/log/php-fpm/www-slow.log
; Zeit in Sekunden, ab der ein Script als "slow" gilt
request_slowlog_timeout = 5s
; Anzahl der PHP-Prozesse, die gleichzeitig protokolliert werden können
; Optional: pm.max_children abhängig vom Workload
Praktische Tipps zur Konfiguration
- Setzen Sie
request_slowlog_timeoutzunächst konservativ, z. B. 5–10 Sekunden, um unnötige Log-Einträge zu vermeiden. - Stellen Sie sicher, dass der Log-Pfad Schreibrechte für den PHP-FPM-User hat, z. B.
www-data. - Bei High-Traffic-Systemen empfiehlt sich die Nutzung eines separaten Volumes für Slowlogs, um die Haupt-FPM-Performance nicht zu beeinträchtigen.
Slowlog-Analyse ohne APM
Die Logs enthalten detaillierte Stack-Traces der langsamen Skripte. Eine Analyse zeigt, welche Funktionen oder Datenbankabfragen die meiste Zeit beanspruchen.
Beispiel eines Slowlog-Eintrags
[27-Mar-2026 12:34:56] pid 12345
script_filename = /var/www/html/index.php
[0x00007f3d4b5f5b60] sleep() /var/www/html/index.php:25
[0x00007f3d4b5f5ba0] include() /var/www/html/index.php:10
Aus diesem Log wird ersichtlich, dass die Funktion sleep() in index.php die Ausführungszeit maßgeblich verlängert.
Log-Parsing mit CLI
Die Auswertung kann direkt mit Unix-Tools erfolgen:
# Anzahl Slowlog-Einträge
grep -c "script_filename" /var/log/php-fpm/www-slow.log
Top langsame Skripte
awk '/script_filename/ {print $3}' /var/log/php-fpm/www-slow.log | sort | uniq -c | sort -nr | head -20
Bottlenecks identifizieren
Mit Slowlog lassen sich verschiedene Engpässe erkennen:
Häufige Ursachen
- Lang laufende Datenbankabfragen (z. B. ohne Indexierung)
- Externe API-Aufrufe
- Schleifen oder ineffiziente Algorithmen in PHP
- Dateioperationen auf langsamen Storage-Systemen
Beispielanalyse
Ein hoher Anteil der Slowlog-Einträge verweist auf ein bestimmtes Modul oder Skript. Dies kann direkt priorisiert optimiert werden:
awk '/script_filename/ {print $3}' /var/log/php-fpm/www-slow.log | sort | uniq -c | sort -nr | head -10
Die Ausgabe zeigt die 10 am häufigsten langsamen Skripte und ermöglicht gezielte Optimierungen.
Integration in Monitoring
Auch ohne APM lassen sich Slowlogs in bestehende Monitoring-Stacks einbinden:
Prometheus + Node Exporter
- Slowlog-Einträge zählen und als Metrik exportieren.
- Alerts bei Überschreiten von Schwellenwerten definieren.
- Langzeitstatistiken für Trendanalysen verwenden.
Grafana Dashboard
Visualisieren Sie die Anzahl langsamer Requests pro Endpoint oder Modul, um Engpässe im Web-Stack schnell zu erkennen.
Best Practices für produktive Umgebungen
- Slowlog immer aktiviert lassen, auch bei normalen Lasten.
- Separate Logs für jeden Pool, um Analyse zu vereinfachen.
- Regelmäßige Auswertung und Optimierung von datenbanklastigen Skripten.
- PM-Settings (max_children, pm) mit Slowlog-Daten abstimmen.
- Alte Logs rotieren (logrotate), um Speicherverbrauch zu kontrollieren.
Zusammenfassung
PHP-FPM Slowlog ist ein unverzichtbares Werkzeug, um Performance-Bottlenecks ohne teure APM-Systeme aufzudecken. Mit gezielter Konfiguration, Analyse der Stack-Traces und Integration in Monitoring-Tools lassen sich Engpässe schnell erkennen und beheben. Die Kombination aus PM-Tuning und Slowlog-Monitoring sorgt für einen stabilen und performanten PHP-Web-Stack.
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.











