私はどちらかを疑う:
(私はこの質問をGunicornメーリングリストに投稿しようとしていますが、それを直接行う方法について明確な指示を見つけることができませんでした。したがって、Githubの問題を作成することが正しいルートであるといいのですが。)
それはそれのための良い場所です:)あなたはすでにそこにいくつかの情報を見つけることができます: http :
とにかくそれは依存します。 NGINXの背後にあるGunicornを使用すると、同期ワーカーでも複数の接続を受け入れることができます。 Nginxバッファーで多くの待機を行うことができる間、N個の要求(Nはワーカーの数)を同時に処理します。 私はほとんどの場合、これは10Kを超える同時接続で非常に大規模なWebサイトを実行するのに十分です。
他の使用法では、非同期ワーカーがあります。 NGINXまたは接続をバッファリングできるプロキシは引き続きこれらのワーカーを支援し、Gunicornがより多くの同時接続を処理したり、一部の接続を長期間開いたままにしたりできるようにします。
私があなたの質問に答えたことを望みます。
Gunicornについてのみ回答するには:
バックログ設定は、OSリッスンバックログの深さを指定します。 バックログがいっぱいになると、要求はOSによって拒否され、ゲートウェイはアップストリーム接続に失敗します。 バックログがいっぱいでない場合、接続はOSによって開かれますが、Gunicornワーカーがリクエストを受け入れる準備ができるまで、Gunicornによって処理されません。 Gunicornがリクエストを迅速に処理しない場合、ゲートウェイはアップストリームタイムアウトを返す可能性があります。
アップストリームタイムアウトが多く、Gunicornの前でリバースプロキシを使用して実行している場合は、プロキシをより効率的にフェイルオーバーできるように、バックログを減らすことをお勧めします。
皆さん、ありがとう。 これらの答えは役に立ちます。