Wenn wir eine Website mit PHP entwickeln, können wir, wenn einige PHP-dynamische Seiten nach dem Start sehr langsam zugänglich sind, den Engpass der Website anhand von PHP-FPM-Slow-Logs analysieren.
Die PHP-FPM Slowlog-Einstellung ermöglicht es uns zu sehen, welche PHP-Prozesse zu langsam sind und Website-Probleme verursachen.
Überprüfen Sie zunächst alle Prozesse über den Befehl top -c, um die von php-fpm geladene Konfigurationsdateiadresse zu sehen, wie in der untenstehenden Abbildung dargestellt:
FPM-Konfiguration
Parameter: -p, dynamisch modifizieren --Präfix in der Kommandozeile
include=etc/php-fpm.d/*.conf, um eine oder mehrere Dateien zu enthalten, falls glob(3) existiert (glob()-Funktion gibt einen Dateinamen oder ein Verzeichnis zurück, das dem angegebenen Muster entspricht)
php-fpm lädt eine Subkonfigurationsdatei, $pool Variable in jeder Direktive verwendet werden kann und den entsprechenden Namen des Prozesspools ersetzt. Zum Beispiel: hier[www]
Schalte langsame Logs ein
eintreten/usr/local/etc/php-fpm.dSubkonfigurationsdatei, finden Sie www.conf (je nach aktueller Situation), PHP 5.3.3 und spätere Versionen sind wie folgt festgelegt:
; Die Timeout für die Bearbeitung einer einzelnen Anfrage, nach der ein PHP-Backtrace folgt ; In die Datei 'slowlog' zurückgelegt. Ein Wert von '0en' bedeutet 'falsch'. ; Verfügbare Einheiten: s(econds)(default), m(inutes), h(ours) oder d(ays) ; Standardwert: 0 request_slowlog_timeout = 1s ; Die Logdatei für langsame Anfragen ; Standardwert: /usr/local/php/log/php-fpm.log.slow slowlog = /usr/local/php/log/php-fpm.log.slow ; Die Zeit für die Zustellung eines einzelnen Antrags folgt dem Bearbeitungsprozess des Mitarbeiters ; umkommen. Diese Option sollte verwendet werden, wenn die 'max_execution_time' ini-Option verwendet wird ; Aus irgendeinem Grund stoppt die Skriptausführung nicht. Ein Wert von '0' bedeutet 'falsch'. ; Verfügbare Einheiten: s(econds)(default), m(inutes), h(ours) oder d(ays) ; Standardwert: 0 request_terminate_timeout = 10s Hinweis: request_terminate_timeout Beenden Sie einen Prozess, der zu lange läuft, direkt direkt
request_slowlog_timeout Schreibe Dateien, die zu langsam sind, um sie ins Log auszuführen.
Ab jetzt können Sie die Programmdateien gemäß dem Slow Execution Log /usr/local/php/log/php-fpm.log.slow optimieren!
|