この記事では、php-fpm のスローログ設定を有効にする方法を紹介します?一定の参考値がありますので、困っている友人は参考にしてください。
nginx のアクセスログは、ユーザーが特定のインターフェイスや Web ページにアクセスするのに費やした時間を記録できますが、どの場所や機能が遅いのかを明確に追跡することはできません。そのため、php-fpm のスローログを通じて、slowlog の設定を使用して簡単に確認できます。どの php プロセスが遅すぎて Web サイトの問題を引き起こしているかを確認してください。
php-fpm.conf の設定ファイルには request_slowlog_timeout パラメータがあり、次のように記述されています。
; The timeout for serving a single request after which a PHP backtrace will be ; dumped to the 'slowlog' file. A value of '0s' means 'off'. ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) ; Default Value: 0; request_slowlog_timeout = 0
request_slowlog_timeout が特定の秒に設定されている場合、request_slowlog_timeout =1 は、スクリプトの実行時間が 1 秒を超える場合、スクリプトがスロー ログ ファイルに記録されることを意味します。
request_slowlog_timeout =0閉じていることを意味します。ログ出力が遅いです。
スロー ログ ファイルの場所は、デフォルトでは PHP インストール ディレクトリの下のログ フォルダーにあり、slowlog = log/$pool.log.slow パラメーターを変更することで指定できます。
; The log file for slow requests ; Default Value: not set ; Note: slowlog is mandatory if request_slowlog_timeout is set ; slowlog = log/$pool.log.slow
php-fpm スロー ログの例。スロー ログには、プロセス番号、スクリプト名、特定のファイルとコード行、どの関数の実行時間が記録されます。有効期限が長く切れています。
[27-May-2016 13:20:37] NOTICE: child 16683 stopped for tracing [27-May-2016 13:20:37] NOTICE: about to trace 16683[27-May-2016 13:20:37] NOTICE: finished trace of 16683[27-May-2016 13:20:37] WARNING: [pool www] child 16720, script '/Data/webapps/test/public/index.php' (request: "POST /index.php/test/test/") executing too slow (1.204894 sec), logging
request_slowlog_timeout と throwlog を同時に設定する必要があります。request_slowlog_timeout がオンになっている場合は、slowlog も同時にオンにする必要があります。ログ パスは手動で作成する必要があります。
特に php-fpm の遅いログ ステップを有効にします:
cd /apps/phpvi /apps/php/etc/php-fpm.conf 去掉request_slowlog_timeout 、slowlog的前缀分号';',设置request_slowlog_timeout =1; :wq 保存退出 创建慢日志目录mkdir -p /apps/php/etc/log 重启php-fpmkillall php-fpm/apps/php/sbin/php-fpm
推奨関連記事:
php でのコンストラクター メソッドとデストラクター メソッドのコード実装
#PHP でよく使用される関数とグローバル変数の概要 (推奨)
以上がphp-fpm で低速ログ設定を有効にするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。