基本的に、php-fpmがいつでも実行するプロセスの数は、dynamic
好きなように設定すると非常に設定可能です。そこに設定するstatic
と、常に多くの子プロセスが実行されます。通常は、リソースを節約するために動的に設定します。各子プロセスは1つの要求を処理できます。上限は、phpアプリケーションの負荷とトラフィックの量に依存します。また、それぞれの子のメモリ消費量を平均計算し、あなたがことを確認する必要があります決して子どもの数は、サーバーにインストールされているRAMの量を超えることはないか、スワップ開始、あるいはプロセスを殺す開始のカーネルがあります。
; Choose how the process manager will control the number of child processes.
; Possible Values:
; static - a fixed number (pm.max_children) of child processes;
; dynamic - the number of child processes are set dynamically based on the
; following directives:
; pm.max_children - the maximum number of children that can
; be alive at the same time.
; pm.start_servers - the number of children created on startup.
; pm.min_spare_servers - the minimum number of children in 'idle'
; state (waiting to process). If the number
; of 'idle' processes is less than this
; number then some children will be created.
; pm.max_spare_servers - the maximum number of children in 'idle'
; state (waiting to process). If the number
; of 'idle' processes is greater than this
; number then some children will be killed.
; Note: This value is mandatory.
これらのオプションを設定するときは、次の点を考慮してください。
- あなたの平均的な要求はどのくらいですか?
- サイトが取得する同時ビジターの最大数はいくつですか?
- 各子プロセスは平均でどのくらいのメモリを消費しますか?
ps --no-headers -o "rss,cmd" -C php-fpm | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"M") }'
を使用して、各ワーカーのメモリ量を確認します。community.webcore.cloud/tutorials/…