
Ich versuche herauszufinden, was genau passiert, das die CPU-Auslastung in zufälligen httpd
Workern so in die Höhe treibt, aber es fällt mir etwas schwer, herauszufinden, welche PHP-Seite angefordert wird, damit ich versuchen kann, herauszufinden, warum sie die CPU verschlingt. Wenn PHP als normales (und nicht als schnelles) CGI ausgeführt würde, könnte ich mir die Prozessliste ansehen, aber wir verwenden mod_php.
Gibt es eine Möglichkeit, PHP 5.3 dazu zu bringen, Leistungsstatistiken für aktuell laufende Skripte zu melden? Dies könnte auch relevant sein, wenn wir uns letztendlich für diesen php-fpm
Weg entscheiden.
Antwort1
Wenn Sie aktivieren mod_status
und einschalten ExtendedStatus
, wird die Anfrage angezeigt, die von jedem Mitarbeiter bearbeitet wird.
Antwort2
Erstens bin ich nicht sicher, ob Sie das mit normalem PHP machen können, aber Sie können php-fpm verwenden, um eine Statusseite anzuzeigen. Unter diesem Link können Sie sehen, wie das geht: https://rtcamp.com/tutorials/php/fpm-status-page/
Zweitens können Sie Slowlog in php-fpm aktivieren. Damit können Sie sehen, welche Skripte so langsam laufen. Hier ist ein Beispiel, wie das geht: https://rtcamp.com/tutorials/php/fpm-slow-log/