FastCGI Process Manager (FPM)

目次

FPM (FastCGI Process Manager) は、PHP における FastCGI 実装です。(主に)高負荷のサイトで有用な機能が含まれています。

以下のような機能があります。

  • 緩やかな (graceful) 停止/起動 機能を含む高度なプロセス管理

  • 異なる uid/gid/chroot/environment でワーカーが開始でき、 異なるポートで Listen でき、異なる php.ini が適用できる (safe_mode の代替) プールのサポート。

  • 設定が変更可能な、 標準出力および標準エラー出力へのログ出力

  • opcode キャッシュが壊れた場合の緊急再起動

  • 高速なアップロードのサポート

  • "slowlog" - 実行時間が非常に長いスクリプトの記録 (スクリプト名だけでなく、PHP バックトレースも記録します。バックトレースを取得するために、 ptrace やそれと同等の仕組みを使ってリモートプロセスの execute_data を読みます)

  • fastcgi_finish_request - 何か時間のかかる処理 (動画の変換や統計情報の処理など) を継続しながら リクエストを終了させてすべてのデータを出力させるための特殊な関数

  • 動的/オンデマンド/静的 な子プロセスの起動

  • 基本的な SAPI の動作状況 (Apache の mod_status と同等) を、 json, xml, openmetrics のようなフォーマットで提供

  • php.ini ベースの設定ファイル