この記事の例では、php-fpm の低速実行ログのスローログを php パフォーマンス分析に使用する方法について説明します。
ご存知のとおり、mysql にはスロー クエリ ログがあり、スロー クエリ ログによれば、どの 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] 警告: [プール www] 子 18575、スクリプト '/home/admin/web/htdocs/sandbox_canglong/test/tt。 php ' (リクエスト: "GET /test/tt.php") の実行が遅すぎます (1.006222 秒)、ログが記録されています[19-Dec-2013 15:55:37] 注意: 子 18575 はトレースのために停止しました
[ 19 -Dec-2013 15:55:37] 通知: 18575
をトレースしようとしています[19-Dec-2013 15:55:37] 通知: 18575
のトレースが完了しました関連する学習の推奨事項:
以上がphpのパフォーマンス分析 php-fpmの遅い実行ログ 遅いログの使用状況の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。