php fpm 慢日誌查詢

2022-07-10 01:27:09 字數 1268 閱讀 9616

雖然可以通過 nginx 的 accesslog 日誌查詢到使用者訪問介面或網頁消耗的時間,但是不能清晰的追蹤到哪個檔案或函式慢,

可以通過 php-fpm 慢日誌查詢檢測 php 指令碼執行狀態,哪些 php 程序比較慢,有哪些錯誤日誌

1 先查找到配置檔案存放的位置

find / -name php-fpm.conf
開啟配置檔案看慢日誌查詢是否開啟,或者開啟的慢日誌存放路徑

2 如果沒有開啟慢日誌查詢,先開啟

預設情況下 request_slowlog_timeout 的值為 0,表示關閉慢日誌輸出,所以開啟慢日誌查詢需要將 request_slowlog_timeout

設定成大於 0 的值,表示 php 指令碼執行時間超過 request_slowlog_timeout 設定的時間將會被記錄到 slowlog 中,然後檢視慢日誌對

指令碼進行對應的處理

request_slowlog_timeout 和 slowlog 需要同時開啟,slowlog 表示慢日誌儲存的位置,我們可以自定義也可以直接使用預設的位置

預設的位置一般在 /data/php/log/php-fpm.log ,同時需要將 request_slowlog_timeout、slowlog 前面的分號去掉才算是開啟,然後重啟

php-fpm

3 觀察慢日誌資訊

開啟後,如果有指令碼執行時間超過設定時間,會被記錄到指定的日誌檔案中,格式如下(摘抄來自網上):

[19-dec-2016 16:54:49] [pool www] pid 18575

script_filename = /home/web/htdocs/sandbox_canglong/test/tt.php

[0x0000000003a00dc8] curl_exec() /home/web/htdocs/sandbox_canglong/test/tt.php:2

[0x0000000003a00cd0] exfilter_curl_get() /home/web/htdocs/sandbox_canglong/test/tt.php:6

script_filename 表示入口檔案,curl_exec() 表示執行這個函式時超時,exfilter_curl_get() 表示是這個方法呼叫的 curl_exec() 方法,每行冒號之後

都會有數字表示行號

開啟後,對錯誤日誌也有相關記錄,如下

日誌 php fpm慢日誌查詢

1.先查找到配置檔案存放位址 find name php fpm.conf vi usr servers php etc php fpm.conf 開啟看看你的慢日誌是否開啟,或者開啟的慢日誌存放在 對應的位址都換成你自己的即可。2.如果沒有開啟慢日誌查詢,先開啟 預設的 request slowl...

日誌 php fpm慢日誌查詢

專案用php開發,在生產執行的過程中,應該一段時間監測下php指令碼執行狀態,哪些php程序速度太慢,有哪些錯誤日誌。問 如何來檢視檢測比較慢的php指令碼呢?答 檢視php fpm慢日誌。1.先查找到配置檔案存放位址 開啟看看你的慢日誌是否開啟,或者開啟的慢日誌存放在 對應的位址都換成你自己的即可...

php fpm中啟用慢日誌配置

apache php的環境沒有這個功能,必須是nginx php fpm環境中 mysql可以啟動慢日誌,php fpm也可以記錄慢日誌。啟用慢日誌的方法 vi usr local php etc php fpm.conf 開啟php fpm的配置檔案 php 5.3.3 之前版本 10s1s lo...