web-dev-qa-db-ja.com

1コアあたりの最大php-fpmスレッド

1コアあたりのphp-fpmスレッドの最良(最大)数を取得する方法を教えてください。それを(linux/debianで)ベンチマークする方法は?そして、この数がすでに多すぎることをどのように認識するのですか?ありがとうございました。

3
thorewi

おそらく、プール内のプロセスを意味します。これは主に実際のPHPコードをどの程度ブロックするかによって異なります。より多くのcholdrenがブロックして何かを待機するため、待機するだけで多くのプロセスが必要になります(たとえば終了する外部HTTPリクエストの場合。この実際の数は、使用しているメモリの量に依存します。一方、基本ルールコアあたり2-4プロセスは、あまりブロックされないidealコードに適用されます。もちろん、仕様を確認することで、コアあたりの正式なスレッド数を決定できます。たとえば、CPUのIntel E5-2640 CPUのコアあたりのスレッド数は2になります。

プール内の実際の子の数を決定する簡単な方法は簡単です。最初にCPUの#of Threadsにして、少し増やします。インストールのベンチマークテストを繰り返します。パフォーマンスが向上しなくなったら、またはメモリキャップに達したら、増加を停止します。

また、一部の外部リソースが上限に達したり、応答しなくなったりする状況(データベースサーバー、またはコードがクエリを実行できる外部HTTPサーバーなど)では、プール内の子の数に関係なく上限に達することに注意してください。あなたが持っている、彼らはただ待機状態で立ち往生するでしょう。したがって、プールの上限を決定する際には、この考えられるボトルネックに留意する必要があります。

3
drookie