日誌-php-fpm慢日誌查詢
原創
2017年02月17日 20:49:50
項目用php開發,在生產運行的過程當中,應該一段時間監測下php腳本運行狀態,哪些php進程速度太慢,有哪些錯誤日誌。
問:如何來查看檢測比較慢的php腳本呢?
答:查看php-fpm慢日誌。
1.先查找到配置文件存放地址
- find / -name 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
php錯誤日誌:檢測php運行時或用戶自記錄錯誤日誌:
http://blog.csdn.net/ty_hf/article/details/55505262
mysql慢日誌:記錄mysql服務器中影響性能的SQL:
http://blog.csdn.net/ty_hf/article/details/55504172
本文地址:http://blog.csdn.net/ty_hf/article/details/55504172