首頁  >  文章  >  类库下载  >  善用php-fpm的慢執行日誌slow log,分析php效能問題

善用php-fpm的慢執行日誌slow log,分析php效能問題

高洛峰
高洛峰原創
2016-10-14 10:51:131165瀏覽

眾所周知,mysql有slow query log,根據慢查詢日誌,我們可以知道那些sql語句有效能問題。身為mysql的好搭檔,php也有這樣的功能。如果你使用php-fpm來管理php的話,你可以透過以下選項開啟。
PHP 5.3.3 先前設定如下:
5s
logs/php-fpm-slowlog.log

PHP 5.3.3 之後設定以下如下:
log/php-fpm-slowlog.log

說明:

request_slowlog_timeout 是腳本超過多久就可以記錄到日誌檔案
slowlog 是日誌檔案的路徑

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

[19-Dec-2013 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-2013 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-2013 15:55:37] NOTICE: child 18575 stopped for tracing
[19-Dec-2013 15:55:37] NOTICE: about to trace 18575
[19-Dec-2013 15:55:37] NOTICE: finished trace of 18575


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

相關文章

看更多