Nginxでデフォルトで「multi_accept」が「off」になっているのはなぜですか?


回答:


13

おそらく、onを使用すると、すべてのワーカープロセスがアクティブになり、すべての着信要求を同時に処理しようとするためです。無効にすると、Nginxはリクエストを1つずつ処理する子プロセスを決定します。Nginxはこの点で非常に効率的であるため、これはおそらくほとんどの人に役立つでしょう。ワーカー接続をリクエストであふれさせる可能性があるため、有効にするリスクがあると考える人もいます。OSレベルでのTCP設定もおそらくこれに関与します。


3
正確な状況がありました。私は、worker_rlimit_nofile、worker_connections、worker_processesの自動コマンドが何をするかを見つけようとしました。Nginxは、Webソケットを受け入れるアプリケーションのリバースプロキシです。Nginx構成では、すべてのワーカーに対して50の接続が許可されます。2つのワーカーがあり(したがって、100の接続を確立する必要がある)、multi_acceptがオンの場合、websocketを作成できないというエラーが表示されます(既に50の接続を持っているワーカーが試行します...)。multi_acceptがオフの場合、すべてが完全に機能します。
ハンバーグ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.