繁体   English   中英

listen()积压上限

[英]listen() backlog upper limits

即使在这个话题上说了很多,我还是很困惑。

我尝试了一种能够处理适当的负载上升(可能每秒处理数千个连接)的巨型linux服务器。 现在,如果我检查默认的listen()队列:

#cat /proc/sys/net/core/somaxconn
128

根本不可能是实际的队列大小。 我怀疑这可能是遗留的,实际大小是这样确定的:

#cat /proc/sys/net/ipv4/tcp_max_syn_backlog
2048

但是, man tcp说,后者是等待来自客户端的ACK的连接,这与尚未接受的连接总数不同,这就是listen()待办事项列表。

所以我的问题是如何增加listen()积压 ,以及如何获取/设置它的上限(就在内核重新编译之前)?

您可以按照以下说明进行增加: https : //serverfault.com/questions/271380/how-can-i-increase-the-value-of-somaxconn-基本上是使用sysctl。

是的,somaxconn是监听积压的上限。

somaxconn是等待的完整连接数。

tcp_max_syn_backlog是等待的不完整连接数。

他们不是同一回事。 手册页中都有所有描述。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM