php-fpm: pm = static & pm.max_children = 2 on lower machines

Emotional, Burning, Unlimited Tuned Laboratory

php-fpm: pm = static & pm.max_children = 2 on lower machines
Ref: php-fpm の設定を理解してサイトのパフォーマンスを向上させる

static と dynamic どちらを選択すれば良いのか

dynamic のほうが柔軟に処理能力を調整することができるので、より良いようにも思えます。しかし、プロセスはリクエストの処理中CPU1コアを占有するので、同時処理可能なリクエスト数はCPUの論理コア数に依存します。(コア数以上にプロセスを起動しても、使い切れないことが多いです)それに対して、1プロセスあたりのメモリ消費量は100MBを超えることはほぼありません。したがって、一般的なサーバーの場合メモリやディスクの限界に達する前にCPUがボトルネックとなるので、あまり多くの数プロセスを起動しても意味がありません。
それならば、プロセスの動的な起動に伴うオーバーヘッドがないstaticを選択するほうが良い場合も多いです。

プロセスの最大起動数は、最もボトルネックとなっているリソースに合わせて決定します。
CPUは1プロセスあたり1コア、メモリは1プロセスあたり数十MBとして計算します。(正確な1プロセスあたりのメモリ使用量は、サーバーごとに異なるのでpsコマンドを使って調べてください。)

今回の例では、CPUがボトルネックなのは明らかなので、コア数と同じ2を設定します。※1
また、今回は同時起動数が少ないので、プロセス制御はstaticを使用します。
pm = static
pm.max_children = 2