Nginx + php5-fpmがあります。 1時間に数回、ウェブサイトがスタックし、ログファイルに次のように表示されます。
警告:[プールwww]サーバーがpm.max_children設定(5)に達しました。上げることを検討してください。
/ etc/php5/fpm/pool.d/www.confファイルには次の設定が含まれています:
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
サーバー: AMD Opteron™3280、Octo-Core、8 GHz 2.4 GHz、16 GB DIMM(DDR3)。
このサーバーのwww.confファイルに何を入れればよいかわかりません。誰かを助けてもらえますか?ありがとう
PHP-FPMがmax_children
に到達する理由は数多く考えられます。最も一般的なものは次のとおりです。
max_children
あなたのマシンのスペックを見ると、PHP + Nginx以外は何も実行していないと仮定すると、5よりもはるかに高く設定できると思います。おそらく、それらすべてを使用することはできません。私は通常、それをコアの数x 2またはコアの数x 4のようなものに設定しています。これは、PHPスクリプト。
Pm.max_requests値(デフォルトではコメント化されています)を設定することで、これらのエラーの修正に役立つことがわかりました。この設定は、特定の数のリクエストを実行した後に子リクエストを強制的に再生成し、コードまたはサードパーティライブラリのどこかにメモリリークがある場合に役立ちます。
/ etc/php-fpm.d/www.confで:
pm.max_requests = 500
この link は便利かもしれません-システムのメモリ量に基づいて子プロセスの数を計算する方法を説明します: