ご存知のとおり、MySQL には低速クエリ ログがあり、これにより、どの SQL ステートメントにパフォーマンスの問題があるかがわかります。 mysql の良きパートナーとして、php にもそのような機能があります。 php-fpm を使用して php を管理する場合は、次のオプションを通じて有効にすることができます。
PHP 5.3.3 以前の設定は次のとおりです:
PHP 5.3.3 PHP 5.3.3 以降の設定は次のとおりです:
request_slowlog_timeout = 5s
throwlog = /usr/local/php/ log/php-fpm-slowlog.log
説明:
request_slowlog_timeoutは、スクリプトがログファイルに記録するのにかかる時間です
slowlogは、ログファイルへのパスです
Afterこれがオンになっている場合、スクリプトが指定された時間を超えて実行されると、次のような情報が指定されたログ ファイルに書き込まれます:
[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() です。
各行のコロンの後の数字は行番号です。
オンにすると、エラーログファイルにも関連する記録が残ります。以下の通り:
rreee