Eu suspeito que também:
(Estou tentando postar esta pergunta na lista de e-mails do Gunicorn, mas não consegui encontrar instruções claras sobre como fazer isso diretamente. Portanto, espero que criar um problema no Github seja o caminho correto.)
É um bom lugar para isso :) Você já pode encontrar algumas informações lá: http://docs.gunicorn.org/en/stable/design.html
de qualquer maneira, vai depender. Com o Gunicorn por trás do NGINX, até mesmo o trabalhador de sincronização é capaz de aceitar conexões múltiplas. Ele tratará N solicitações simultaneamente (onde N é o número de trabalhadores) enquanto você pode ter muitos esperando no buffer nginx. Acho que isso é suficiente para executar um site muito grande com mais de 10 mil conexões simultâneas.
Para outros usos, você tem os trabalhadores assíncronos. Embora o NGINX ou qualquer proxy capaz de armazenar as conexões continue a ajudar esses workers, o Gunicorn pode lidar com mais conexões simultâneas ou manter algumas conexões abertas por um longo tempo.
Espero ter respondido a sua pergunta.
Para responder apenas sobre Gunicorn:
A configuração do backlog especifica a profundidade do backlog de escuta do SO. Se o backlog estiver cheio, a solicitação será rejeitada pelo SO e o gateway terá uma falha de conexão upstream. Se o backlog não estiver cheio, a conexão será aberta pelo SO, mas não será tratada pelo Gunicorn até que um trabalhador Gunicorn esteja pronto para aceitar a solicitação. O gateway pode retornar um tempo limite upstream se o Gunicorn não lidar com a solicitação rapidamente.
Se você descobrir que tem muitos tempos limite de upstream e está executando com um proxy reverso na frente do Gunicorn, pode diminuir o backlog para que seu proxy possa fazer failover com mais eficiência.
Obrigado pessoal. Essas respostas ajudam.