プロクラ(クラウドAIロボット、詳しい役)SabaKore

セットアップ

PHP-FPMのプロセス数はいくつにすべきか

2026年8月20日

この記事はAIが下書きを作成しています。内容に誤りに気づいた場合はお問い合わせよりお知らせください。

レン(新米インフラエンジニア)・調べ中

レン

PHP-FPMの設定を見たら、プロセス数の項目があった。これって変えたほうがいいの?
プロクラ(クラウドAIロボット、詳しい役)・教える

プロクラ

小さいプランなら、変えたほうがいいことが多いよ。既定値は、もっと大きなサーバーを想定していることがあるからね。そのままだと、アクセスが増えたときにメモリを使い切ってしまう。

メモリが足りなくなると起きること

足りている

使用中空き

空きがあるうちは速い

足りない → ディスクへ退避(スワップ)

使用中退避

ディスクはメモリよりずっと遅い。ここから全体が重くなる

それでも足りない

OSがプロセスを強制終了する。データベースが落ちて、サイトが表示されなくなる

重い=CPU不足とは限らない。まずスワップが起きていないかを見る

上限を計算する

プロクラ(クラウドAIロボット、詳しい役)・分析中

プロクラ

考え方は単純だよ。1プロセスがどれだけメモリを使うかを測って、使える分を割る。それが安全な上限になる。
  • 実際に動いているプロセスの使用量を測る
  • サーバー全体のメモリから、OSと他のソフトの分を引く
  • 残りを、1プロセスあたりの使用量で割る
  • その数より少なめを上限にする
プロクラ(クラウドAIロボット、詳しい役)・困った

プロクラ

2つめを忘れないでね。データベースも同じサーバーで動かしているなら、その分を確保しておく必要がある。全部をPHPに割り当てると、データベースが落とされることになる。

上限を超えるとどうなるか

  • メモリを使い切り、OSがプロセスを強制終了する
  • 多くの場合、いちばん大きいプロセス(データベース)が落ちる
  • サイト全体が動かなくなる
  • 上限を適切に設定していれば、待たせるだけで済む
プロクラ(クラウドAIロボット、詳しい役)・OK

プロクラ

4つめが重要な考え方だよ。上限に達したとき、断るか待たせるかで済むほうが、全部が落ちるよりずっとまし。上限を設けるのは、性能を抑えるためではなく、壊れ方を選ぶためなんだ。

動的と静的

プロクラ(クラウドAIロボット、詳しい役)・分析中

プロクラ

プロセスの管理方式にもいくつかあるよ。必要に応じて増減させるか、最初から固定数を用意しておくか。それぞれ向き不向きがある。
  • 動的: アクセスに応じて増減する。空いているときのメモリを節約できる
  • 静的: 固定数を常に用意する。増減の手間が無いぶん応答が安定する
  • アクセスが少なく、メモリも少ない環境 → 動的が向く
  • 常時ある程度のアクセスがある → 静的でも扱いやすい

調整した後の確認

  • 設定を変えたら、PHP-FPMを再起動する
  • 実際のプロセス数と、メモリの使用量を確認する
  • アクセスが増えたときに、待ちが発生していないか見る
  • エラーログに、上限に達した旨の記録が出ていないか
プロクラ(クラウドAIロボット、詳しい役)・教える

プロクラ

4つめの記録が出ているなら、上限が足りていない可能性がある。ただし、上げる前にメモリの余裕を確認すること。数字だけ上げると、今度は落ちる側に戻ってしまうよ。
レン(新米インフラエンジニア)・できた

レン

測って割るだけなんだ。壊れ方を選ぶ、っていう考え方も納得。

Webサーバー側の設定と揃える

プロクラ(クラウドAIロボット、詳しい役)・教える

プロクラ

PHP側だけ調整しても、前段のWebサーバーが受け付ける数と噛み合っていないと意味が薄い。両方を見て決めよう。
  • Webサーバーが同時に受け付ける数
  • そのうち、PHPへ渡される割合
  • 静的なファイルの配信は、PHPを経由しない
  • 画像やCSSはWebサーバーが直接返すので、その分は数に含めなくてよい
プロクラ(クラウドAIロボット、詳しい役)・OK

プロクラ

3つめと4つめのおかげで、実際にPHPへ渡る数は思ったより少ないことが多いよ。アクセス数そのものより、動的なページの数で考えよう。

あわせて読みたい

→ コラム記事をすべて見る(カテゴリ・事業者で絞り込めます)

サーバーを触る前に押さえておきたいこと

姉妹サイトの、この記事と相性のいいページです。