日誌-php-fpm慢日誌查詢

項目用php開發,在生產運行的過程中,應該一段時間監測下php腳本運行狀態,哪些php進程速度太慢,有哪些錯誤日誌。
問:如何來查看檢測比較慢的php腳本呢?
答:查看php-fpm慢日誌。

1.先查找到配置文件存放地址
find / -name php-fpm.conf


vi /usr/servers/php/etc/php-fpm.conf


打開看看你的慢日誌是否開啓,或者開啓的慢日誌存放在哪裏。
對應的地址都換成你自己的即可。

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.觀察慢日誌信息

tailf /var/logdata/php-fpm/php-fpm-slowlog.log



開啓後,如果有腳本執行超過指定的時間,就會在指定的日誌文件中寫入類似如下的信息:
[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

本文地址:http://blog.csdn.net/ty_hf/article/details/55504172

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章