php效能分析之php-fpm的慢執行日誌slow log

來源:互聯網
上載者:User


眾所周知,mysql有slow query log,根據慢查詢日誌,我們可以知道那些sql語句有效能問題。作為mysql的好搭檔,php也有這樣的功能。如果你使用php-fpm來管理php的話,你可以通過如下選項開啟。

PHP 5.3.3 之前設定如下:

<value name=”request_slowlog_timeout”>5s</value>
<value name=”slowlog”>logs/php-fpm-slowlog.log</value>
PHP 5.3.3 之後設定以下如下:
request_slowlog_timeout = 5s
slowlog = /usr/local/php/log/php-fpm-slowlog.log

說明:

request_slowlog_timeout是指令碼超過多長時間 就可以記錄到記錄檔
slowlog 是記錄檔的路徑
開啟後,如果有指令碼執行超過指定的時間,就會在指定的記錄檔中寫入類似如下的資訊:

[19-Dec-2013 16:54:49] [pool www] pid 18575
script_filename = /home/admin/web/htdocs/sandbox_canglong/test/tt.php
[0x0000000003a00dc8] curl_exec() /home/admin/web/htdocs/sandbox_canglong/test/tt.php:2
[0x0000000003a00cd0] exfilter_curl_get() /home/admin/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/admin/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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.