我怀疑:
(我正在尝试将此问题发布到 Gunicorn 邮件列表,但我找不到有关如何直接执行此操作的明确说明。因此希望创建 Github 问题是正确的途径。)
这是一个很好的地方:) 你可以在那里找到一些信息: http :
无论如何这将取决于。 有了 NGINX 背后的 Gunicorn,即使是同步工作者也能够接受多个连接。 它将同时处理 N 个请求(其中 N 是工作人员的数量),而您可以在 nginx 缓冲区中等待多个请求。 在大多数情况下,这足以运行一个具有超过 10K 同时连接的非常大的网站。
对于其他用途,您有异步工作人员。 虽然 NGINX 或任何能够缓冲连接的代理将继续帮助这些工作人员,但将允许 Gunicorn 处理更多并发连接或长时间保持某些连接打开。
希望我回答了你的问题。
仅回答有关 Gunicorn 的问题:
积压设置指定操作系统侦听积压的深度。 如果积压已满,请求将被操作系统拒绝,网关将出现上游连接失败。 如果积压未满,操作系统将打开连接,但在 Gunicorn 工作人员准备好接受请求之前不会由 Gunicorn 处理。 如果 Gunicorn 没有快速处理请求,网关可能会返回上游超时。
如果您发现有很多上游超时,并且您在 Gunicorn 前面使用反向代理运行,您可能希望减少积压,以便您的代理可以更有效地进行故障转移。
谢谢各位。 这些答案有帮助。