この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 4904|答える: 0

php-fpm slowlog SlowLogがウェブサイトのボトルネックを分析

[リンクをコピー]
掲載地 2021/12/19 11:43:12 | | | |
PHPでウェブサイトを開発する際、もし一部のPHP動的ページがリリース後にアクセスが非常に遅い場合は、php-fpmのスローログを使ってウェブサイトのボトルネックを分析できます。

php-fpmのslowlog設定を使えば、どのPHPプロセスが遅すぎてウェブサイトの問題を引き起こしているかを確認できます。

まず、topの-cコマンドですべてのプロセスをチェックし、php-fpmによってロードされた設定ファイルアドレスを確認します(下図参照)。



FPM構成

パラメータ:-p、コマンドラインの--プレフィックスを動的に修正

Glob(3)が存在する場合に1つ以上のファイルを含めるinclude=etc/php-fpm.d/*.conf(glob()関数は指定されたパターンに一致するファイル名またはディレクトリを返します)

php-fpmはサブ設定ファイルを読み込みます。$pool変数は任意の指令で使用可能で、対応するプロセスプール名を置き換えます。 例えば、こちら[www]

スローログをオンにしてください

入る/usr/local/etc/php-fpm.dサブ設定ファイル、www.conf(実際の状況に応じて)を見つけてください。PHP 5.3.3以降のバージョンは以下の通りに設定されています:

; 単一のリクエストを処理するためのタイムアウトは、その後PHPバックトレースが行われます。
; 「slowlog」ファイルにダンプされる。 「0」の値は「オフ」を意味します。
; 利用可能なユニット:s(econds)(デフォルト)、m(inutes)、h(ours)、またはd(ays)
; デフォルト値:0
request_slowlog_timeout = 1s
; 遅いリクエスト用のログファイル
; デフォルト値:/usr/local/php/log/php-fpm.log.slow
slowlog = /usr/local/php/log/php-fpm.log.slow
; 単一のリクエストを送達するタイムアウトの時間外を経て、ワーカープロセスは
; 殺される。 このオプションは「max_execution_time」iniオプションのときに使うべきです
; なぜかスクリプト実行を停止しません。 「0」の値は「オフ」を意味します。
; 利用可能なユニット:s(econds)(デフォルト)、m(inutes)、h(ours)、またはd(ays)
; デフォルト値:0
request_terminate_timeout = 10秒
注意:request_terminate_timeout 長期間実行されているプロセスを直接終了する

request_slowlog_timeout 実行が遅すぎるファイルをログに書き込む

これからは、遅い実行ログ(/usr/local/php/log/php-fpm.log.slow)に従ってプログラムファイルを最適化できます!





先の:百度図書館はこの解決策を再現できません
次に:実用的な操作:Javaはhutoolを使ってメールを送信します
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com