[nginx+php-fpm]ただただ蛇口を開けるだけじゃダメ。

スポンサーリンク

nginxに変える、と決めてからほんと負荷軽減の試行錯誤の連続でしたが、ついに決着を見そうです。

こういうトライアルの時はどうしてもうまくいかない事を検索して、斜め読みに書いてある事をコピペしてえいやっ!で、あとで「何をやったんだっけ?」となることが多いですが、その中でもphp-fpmのエラーログの
server reached pm.max_children setting (20), consider raising it
こいつにだまされました。

スポンサーリンク

nginxのキャッシュの時間を長くしたり短くしたり、もしかしたらstaticなファイルがキャッシュできてないんじゃ!?とか色々設定を変えては
service nginx restart
を打つ毎日でしたが、色々調べた中で、「私のVPSではmax_connectionをしぼった方が・・・」という記述を見かけて、万策尽きてトライしたら・・・これイイ!

つまりやたらめったら接続上限を上げても負荷が増えるだけで、結果的にボトルネックをさらにしぼっている(個々の処理が遅くなる)形に。ならば、と、php-fpmの最大接続をデフォルト50から一気に20に落とすと・・お。全然快適。
キャッシュを作るときに若干時間がかかるかな・・・?という感じもしますが、最大接続数目一杯の時の「キャッシュでも遅い」からすると全然速い。

エラーメッセージの言う通りをGoogleで解決しない事がここにもありました。

スポンサーリンク