日誌 php fpm慢日誌查詢

2021-09-26 03:38:52 字數 2270 閱讀 5014

專案用php開發,在生產執行的過程中,應該一段時間監測下php指令碼執行狀態,哪些php程序速度太慢,有哪些錯誤日誌。

問:如何來檢視檢測比較慢的php指令碼呢?

答:檢視php-fpm慢日誌。

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

開啟看看你的慢日誌是否開啟,或者開啟的慢日誌存放在**。

對應的位址都換成你自己的即可。

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

預設的 request_slowlog_timeout 是0,php的慢指令碼日誌是關閉的,因此設定為大於0的n,表示執行時間超過n的指令碼將記錄進入slowlog裡。

然後監測到**存在問題的時候檢視下slowlog即可發現慢指令碼,對指令碼進行檢查處理即可。

request_slowlog_timeout 和 slowlog需要同時設定,

開啟request_slowlog_timeout的同時需要開啟 slowlog,

慢日誌路徑需要手動建立

去掉request_slowlog_timeout 、slowlog的字首分號';'

設定request_slowlog_timeout =1;

:wq //儲存退出建立慢日誌目錄

mkdir -p /var/logdata/php-fpm/php-fpm-slowlog.log

killall php-fpm/usr/servers/php/sbin/php-fpm //重啟php-fpm

3.找到慢日誌存放位址

4.觀察慢日誌資訊

開啟後,如果有指令碼執行超過指定的時間,就會在指定的日誌檔案中寫入類似如下的資訊:

[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()的方法是exfilter_curl_get() 。

每行冒號後面的數字是行號。

[19-dec-2016 15:55:37] warning: [pool www] child 18575, script '/home/web/htdocs/sandbox_canglong/test/tt.php' (request: "get /test/tt.php") executing too slow (1.006222 sec), logging

[19-dec-2016 15:55:37] notice: child 18575 stopped for tracing

[19-dec-2016 15:55:37] notice: about to trace 18575

[19-dec-2016 15:55:37] notice: finished trace of 18575

系統日誌:記錄系統相關資訊:

apache訪問日誌與錯誤日誌:

nginx訪問日誌與錯誤日誌:

php-fpm慢日誌:檢測執行較慢的php指令碼:

php錯誤日誌:檢測php執行時或使用者自記錄錯誤日誌:

mysql慢日誌:記錄mysql伺服器中影響效能的sql:

日誌 php fpm慢日誌查詢

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

php fpm 慢日誌查詢

雖然可以通過 nginx 的 accesslog 日誌查詢到使用者訪問介面或網頁消耗的時間,但是不能清晰的追蹤到哪個檔案或函式慢,可以通過 php fpm 慢日誌查詢檢測 php 指令碼執行狀態,哪些 php 程序比較慢,有哪些錯誤日誌 1 先查找到配置檔案存放的位置 find name php f...

Mysql日誌 慢查詢日誌

3.設定variables的示範 慢查詢日誌能為sql語句的優化帶來很好的幫助。可以設定乙個閾值,將執行時間超過該值的所有sql語句都記錄到慢查詢日誌檔案中。閾值long query time表示慢查詢的時間閾值,預設值為10,代表10秒。注 慢查詢日誌只會記錄大於閾值的sql語句,小於和等於的sq...