Tracking von der httpd-Instanz zum PHP-Skript, wenn PHP ein Modul ist

Tracking von der httpd-Instanz zum PHP-Skript, wenn PHP ein Modul ist

Ich versuche herauszufinden, was genau passiert, das die CPU-Auslastung in zufälligen httpdWorkern 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-fpmWeg entscheiden.

Antwort1

Wenn Sie aktivieren mod_statusund 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/

verwandte Informationen