Webサーバーおよびアプリケーションサーバー
    更新日: 2026年5月
    PHP-FPM logo

    PHP-FPM 監視

    設定不要で、PHP-FPMのプロセスポール、処理が遅いリクエスト、メモリ使用量、およびワーカーの状態をリアルタイムで監視できます。

    なぜ監視するのか PHP-FPM?

    PHP-FPM(FastCGI Process Manager)は、数百万ものWebアプリケーションにおけるPHPリクエストの処理を担っています。PHP-FPMを監視することは、処理の遅いスクリプトを特定し、プロセスポールのサイズを管理し、メモリ不足を防ぎ、アプリケーションの応答性を維持するために不可欠です。

    Xitogentによる自動検出
    プロセスプールのアクティブ/アイドル/総ワーカー
    遅いリクエストの検出と追跡
    プールごとのメモリ使用量
    リクエスト時間メトリクス
    リスンキューの監視
    マルチプールサポート
    1分間隔のメトリクス収集
    プールごとにカスタマイズ可能なアラート閾値
    デフォルトで 1 分間隔のメトリクス収集
    PHP-FPM 監視とは?

    PHP-FPM 監視を、 解説

    PHP-FPM 監視は、プール枯渇、スロークエリ、ワーカーリークを、サーバー上のすべての PHP リクエストを遅くする前に検出します。WordPress、Laravel、Magento、その他あらゆる Nginx + PHP-FPM スタックにおいて、プールごとの可視性は、ユーザーが報告する遅延と根本原因をつなぐ最も有用なシグナルです。Xitoring はホスト上のすべてのプールを自動検出し、ネイティブの /fpm/status エンドポイントを 1 分間隔でポーリングし、既存のオンコールローテーションにアラートをルーティングします。

    指標

    私たちが 監視するもの

    アクティブプロセス

    現在PHPリクエストを処理中。

    アイドルプロセス

    リクエスト待機中のワーカー。

    遅いリクエスト

    slow_log閾値を超えるリクエスト。

    リスンキュー

    空きワーカー待機中のリクエスト。

    max_children到達回数

    プロセス上限に達した回数。

    プロセスあたりのメモリ

    PHP-FPMワーカーあたりの平均メモリ。

    リクエスト時間

    リクエストの平均処理時間。

    総プロセス数

    起動されたPHP-FPMワーカーの総数。

    Accepted Conn

    起動以降にプールが受け付けた接続の合計数。`start since`(稼働時間)と組み合わせることで、プールごとのリクエスト/秒のレートをきれいに算出できます。

    Memory per Process

    ワーカーごとの平均常駐メモリ。リサイクル間で着実に増加する場合はリークの兆候です — `pm.max_requests` をチューニングしてより積極的にリサイクルしてください。

    Request Duration

    `?full` ステータス出力からの、プールごとの平均リクエスト処理時間。平均では見えないテールレイテンシを捉えるために p95 を追跡してください。

    トリガーとアラート

    設定可能 アラートのトリガー

    ダッシュボードでカスタムトリガーを設定し、PHP-FPMのメトリクスが定義した閾値を超えた瞬間に通知を受け取れるようにします。

    PHP-FPM 監視トリガーの設定ダッシュボード

    遅いリクエスト

    警告

    遅いリクエスト数が閾値を超えたときに発動。

    リスンキュー

    重要な

    リクエストがキューに蓄積したときに発動。ワーカー不足を示します。

    最大子プロセス数

    重要な

    プロセス上限に繰り返し達したときにアラート。

    メモリ使用量

    警告

    プロセスあたりのメモリ使用量が高いときに発動。

    アクティブプロセス

    警告

    すべてのワーカーがビジー状態のときに発動。

    01

    の重要性: PHP-FPM監視

    PHPはウェブサイトの77%を支えます。監視がないと、遅いスクリプト、メモリリーク、ワーカー枯渇がアプリケーションを停止させます。

    • ユーザーに影響する前に遅いPHPスクリプトを検出
    • 実データに基づいてプロセスプールを適正サイジング
    • リークするスクリプトによるメモリ枯渇を防止
    • リクエスト損失を防ぐためにリスンキューを監視
    PHP-FPM監視ダッシュボード
    PHPパフォーマンスアナリティクス
    02

    なぜ選ぶべきか: Xitoring

    ゼロコンフィグセットアップとマルチプールサポートでシームレスなPHP-FPM監視。

    • ワンコマンドインストール
    • マルチプール監視サポート
    • 統合ダッシュボード
    • マルチチャネルアラート
    • 履歴データ保持
    Xitoring PHP概要
    アラート設定
    ユースケース

    PHP-FPM 監視の一般的な シナリオ

    PHP-FPMが今日一般的に実行されている場所 — そして誰も監視していない場合に何が問題になる可能性があるか。

    WordPress、Laravel、その他のPHPサイト

    ほとんどのPHPサイトは同じ理由で遅くなります。それは、 incoming visitors を十分に速く処理できる空きワーカーが不足しているためです。私たちはボトルネックが発生した瞬間にそれを検知し、検索ランキングやコンバージョンが影響を受ける前にチームが修正できるようにします。

    コンテナ内で実行されるPHPアプリ

    同じアプリが多くのコンテナで実行される場合、一部のコンテナは他のコンテナよりもはるかに多くのトラフィックを静かに処理することがあります。私たちはこの不均一な負荷を表面化させ、一部の訪問者が他の訪問者よりも遅い体験をする前に、チームが再バランスを取れるようにします。

    共有ホスティング上の多数のウェブサイト

    共有ホスティングでは、ある「うるさい」顧客サイトが、他のすべてのサイトが必要とするリソースを静かに消費することがあります。私たちはどのサイトが問題を引き起こしているかを示し、チームが闇雲に再起動するのではなく、原因に対処できるようにします。

    はじめる前に

    PHP-FPM の 前提条件

    これらが揃っていることを確認してください — 揃っていれば、ほとんどの導入は 60 秒で完了します。

    • プール設定で pm.status_path = /fpm/status および ping.path = /fpm/ping が設定された PHP-FPM
    • ステータス URL が localhost からアクセス可能であること(Nginx/Apache の fastcgi_pass 経由)
    • PHP-FPM のログおよびプール設定への読み取りアクセス
    セットアップガイド

    はじめに 議事録

    1

    Web サーバーに Xitogent をインストール

    PHP-FPM が稼働しているホストに軽量な Xitogent 監視エージェントをインストールしてください。

    curl -s https://xitoring.com/install.sh | sudo bash -s -- --key=YOUR_API_KEY
    2

    PHP-FPM ステータスページを有効化

    プール設定(通常 `/etc/php/X.Y/fpm/pool.d/www.conf`)に `pm.status_path = /fpm/status` と `ping.path = /fpm/ping` を設定します。Nginx(または Apache の同等構成)に fastcgi_pass の location ブロックを追加してパスを localhost に公開し、PHP-FPM を再読み込みして URL が応答することを確認してください。

    # In your PHP-FPM pool config (e.g. /etc/php/8.x/fpm/pool.d/www.conf) pm.status_path = /fpm/status ping.path = /fpm/ping # Then in Nginx, expose them to localhost: location ~ ^/fpm/(status|ping)$ { allow 127.0.0.1; deny all; fastcgi_pass unix:/var/run/php-fpm/www.sock; include fastcgi_params; }
    3

    PHP-FPM 連携を有効化

    Xitoring ダッシュボードまたは CLI から PHP-FPM 連携を有効化してください。Xitogent がホスト上のすべての FPM プールを自動検出し、それぞれを独立して追跡します。

    sudo xitogent integrate
    4

    アラートしきい値を設定(オプション)

    Slow Requests、Listen Queue、Max Children Reached にカスタムしきい値を設定し、ユーザーが感じる前に性能劣化やプール枯渇を検知できるようにします。

    5

    動作確認

    サーバー上でこのコマンドを実行して、Xitogent が連携を認識していることを確認してください。約 30 秒以内に新しいメトリクスがダッシュボードに流れ始めます。

    sudo xitogent status

    頻繁に 質問をした

    これは複数のPHP-FPMプールをサポートしていますか?
    はい、Xitogentは設定されたすべてのプールを個別に監視します。
    どのPHPバージョンがサポートされていますか?
    PHP 7.2 以降で、FPM が有効になっていること。
    これはPHPのパフォーマンスに影響しますか?
    いいえ。ステータスページのクエリによる影響はごくわずかです。
    PHP-FPM のスローリクエストを検出するには?
    プール設定で `request_slowlog_timeout = 5s`(または許容範囲)と `slowlog = /var/log/php-fpm/slow.log` を設定します。タイムアウトを超えるリクエストは完全な PHP バックトレースが slowlog にダンプされ、ステータスページの `slow requests` カウンタが増加します。Xitogent はカウント(傾向分析用)と、slowlog を解析して呼び出しサイト別の上位の原因を表示します。
    max_children_reached の意味と、なぜそれが重要なのか?
    `max_children_reached` は、PHP-FPM が新しいワーカーをスポーンしようとしたが、すでに `pm.max_children` に達していたたびに増加します。新しいリクエストはカーネルのリッスンバックログでキューイングされ、すべての PHP リクエストにレイテンシが追加されます。ゼロでないレートはどれもハードシグナルです: `pm.max_children` を増やす(RAM に余裕がある場合 — `max_children × memory_per_process` を最初に計算)、2 つ目のプールを追加する、またはワーカーをブロックしているコードパスを修正してください。
    1 台のサーバーで複数の PHP-FPM プールを監視するには?
    Xitogent は `/etc/php/*/fpm/pool.d/` をスキャンし、それぞれに対して設定された `pm.status_path` をプローブすることで、すべてのプールを自動検出します。プールごとのメトリクス、アラート、履歴はダッシュボードで独立して追跡されます — cPanel マルチサイトのセットアップ、マルチ PHP バージョンホスト(8.2 + 8.3 + 8.4 を並行)、Laravel Octane / Symfony デプロイメントでワーカークラスごとに別々のプールを実行している場合に有用です。
    リッスンキューが増加するときのトラブルシューティングは?
    `listen queue` の増加は、PHP リクエストがワーカーが処理できるよりも速く到着していることを意味します。3 つのつまみ: (1) RAM が許せば `pm.max_children` を増やす、(2) OPcache + クエリ最適化 + slowlog 分析でリクエストごとの作業を減らす、(3) 複数のプールに分割して遅いエンドポイントを分離する。`listen queue` が `listen.backlog` に近づくと、カーネルレベルの接続ドロップが差し迫っています — `listen.backlog` を増やし、Linux 上で `net.core.somaxconn` をチューニングしてください。
    どの PHP バージョンがまだセキュリティアップデートを受けていますか?
    2026 年時点: PHP 8.4(現行 LTS、2028 年 12 月までサポート)、PHP 8.3(2027 年 12 月までサポート)、PHP 8.2(セキュリティのみ、EOL は 2026 年 12 月)。PHP 8.1 は 2025 年 12 月に EOL に達しました — HeroDevs NES または TuxCare 経由で商用の延長ライフが利用可能です。インテグレーションはすべてに対応しており、プール設定の構文は 8.x ライン全体で安定しています。
    ステータスページは PHP のパフォーマンスに影響しますか?
    測定可能な影響はありません。ステータスエンドポイントは軽量な C レベルのハンドラーで、リクエスト実行パイプラインを通過しません — メモリ内のプール状態をシリアライズするだけです。60 秒ごとにポーリングしても、実際の PHP リクエスト処理にゼロの競合しか追加しません。

    PHP-FPMの監視を開始する 今日

    60秒以内で設定完了。クレジットカードは不要。導入初日から詳細な分析データが利用可能。

    無料トライアルを開始

    探検を続けよう

    関連 連携機能