
我試圖弄清楚到底發生了什麼,導致隨機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/
其次,您可以在 php-fpm 中啟用 Slowlog,這樣您就可以看到哪個腳本運行得如此緩慢。這是如何執行此操作的範例: https://rtcamp.com/tutorials/php/fpm-slow-log/