Php5-fpmステータスページで、サーバーが新しいソケットを十分に速くaccept()
するのを妨げているボトルネックは何ですか?
_pool: www
process manager: static
start time: 20/Jan/2015:16:37:18 +0000
start since: 176705
accepted conn: 903749
listen queue: 0
max listen queue: 129
listen queue len: 128
idle processes: 59
active processes: 69
total processes: 128
max active processes: 128
max children reached: 0
_
ご覧のとおり、リッスンキューに到達しましたが、これは非常に頻繁に発生します。リッスンキューの背後にある基本的なロジックを理解しており、ここで詳細に説明されています: php-fpmステータスページ:このレポートの「キュー」項目は何ですか?
キューの長さを増やす必要があることを認識し、そうします。しかし、私の質問はなぜが私のリッスンキューがいっぱいになるのか、そしてそもそもそれがいっぱいになるのを防ぐためのボトルネックは何ですか?リッスンバックログが大きい場合は、「追いついていない」ものが必要だと思いますか?これはCPUのボトルネック/負荷の問題であり、accept()
の速度が十分ではありませんか?
受信しているトラフィックに対して十分なPHPワーカープロセスがないようです。
明らかな解決策は次のとおりです。