uWSGI 监听队列满

问题描述 投票:0回答:2

我的设置包括负载均衡器(haproxy)和两个运行 Django 的 nginx 服务器。服务器 2 工作正常,但有时服务器 1 会开始崩溃并且日志会充满

*** uWSGI listen queue of socket ":8000" (fd: 3) full !!! (101/100) ***

留言。

我该如何解决这个问题?

django nginx uwsgi
2个回答
11
投票

您的收听队列已满。当你运行 uwsgi 时,传递它

--listen 1024
将队列增加到 1024.

请注意,队列越大,您就越容易受到 DDoS 攻击。

您可能还需要增加

net.core.somaxconn

sysctl -w net.core.somaxconn=65536

0
投票

实际上,增加队列大小没有多大意义,因为当请求位于 uWSGI 队列中时,它们不会被工作人员处理并且响应时间会增加。要解决 uWSGI 队列溢出的症状,您需要应用程序的垂直或水平扩展(如果可以通过您的基础架构完成)。

© www.soinside.com 2019 - 2024. All rights reserved.