【轉】日誌-php-fpm慢日誌查詢

日誌-php-fpm慢日誌查詢

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

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


  1. 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,
慢日誌路徑須要手動建立

[plain] view plain copy
  1. 去掉request_slowlog_timeout 、slowlog的前綴分號';'  
  2. 設置request_slowlog_timeout =1;  
  3. :wq    //保存退出建立慢日誌目錄  
  4. mkdir -p /var/logdata/php-fpm/php-fpm-slowlog.log  
  5. killall php-fpm/usr/servers/php/sbin/php-fpm //重啓php-fpm  


3.找到慢日誌存放地址





4.觀察慢日誌信息

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



開啓後,若是有腳本執行超過指定的時間,就會在指定的日誌文件中寫入相似以下的信息:
[plain] view plain copy
  1. [19-Dec-2016 16:54:49] [pool www] pid 18575  
  2. script_filename = /home/web/htdocs/sandbox_canglong/test/tt.php  
  3. [0x0000000003a00dc8] curl_exec() /home/web/htdocs/sandbox_canglong/test/tt.php:2  
  4. [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() 。
每行冒號後面的數字是行號。


開啓後,在錯誤日誌文件中也有相關記錄。以下:
[plain] view plain copy
  1. [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  
  2. [19-Dec-2016 15:55:37] NOTICE: child 18575 stopped for tracing  
  3. [19-Dec-2016 15:55:37] NOTICE: about to trace 18575  
  4. [19-Dec-2016 15:55:37] NOTICE: finished trace of 18575  

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

版權聲明:本文爲博主原創文章,轉載請說明出處。


相關文章
相關標籤/搜索