Отслеживание от экземпляра httpd до скрипта PHP, когда PHP является модулем

Отслеживание от экземпляра httpd до скрипта PHP, когда PHP является модулем

Я пытаюсь выяснить, что именно так httpdсильно увеличивает использование CPU в случайных рабочих процессах, но мне немного трудно понять, какая страница PHP запрашивается, чтобы попытаться выяснить, почему она так нагружает CPU. Если бы PHP был выполнен как обычный (а не как быстрый) CGI, я мог бы посмотреть на список процессов, но мы используем mod_php.

Есть ли способ заставить PHP 5.3 сообщать статистику производительности для текущих запущенных скриптов? Это также может быть актуально, если мы в конечном итоге решим пойти по этому php-fpmпути.

решение1

Если вы включите mod_statusи включите ExtendedStatus, он будет отображать запросы, обрабатываемые каждым работником.

решение2

Во-первых, я не уверен, можно ли это сделать с помощью обычного PHP, но вы можете использовать php-fpm, чтобы отобразить страницу статуса. По этой ссылке вы можете увидеть, как это сделать: https://rtcamp.com/tutorials/php/fpm-status-page/

Во-вторых, вы можете включить slowlog в php-fpm, с помощью этого вы сможете увидеть, какие скрипты работают так медленно. Вот пример того, как это сделать: https://rtcamp.com/tutorials/php/fpm-slow-log/

Связанный контент