sysctl 选项net.core.somaxconn
默认为 128(在我们的系统上),但可以提高。
这个限制究竟衡量和限制什么?
我如何知道我距离极限还有多远?
上下文:我最近遇到了一个问题,似乎可以通过提高此限制来解决。该问题是间歇性的,因此我不相信它真的已得到解决。我想知道当前的数量 [无论此设置上限是多少] 是否大于之前的最大限制 128。
答案1
somaxconn
确定系统上每个 TCP 端口允许的最大积压连接数。增加该值(建议服务器使用)可以防止出现“连接被拒绝”消息,但如果服务器无法处理增加的负载,则会导致连接速度变慢。
netstat -ant | grep -c SYN_REC
您可以根据以下信息检查当前积压情况这一页它将计算有多少个连接处于“SYN 已接收”状态,这意味着系统已收到 SYN 数据包(连接请求)但尚未确认。
如果您的系统已ss
安装,您还可以使用ss -s
显示连接摘要。synrecv
在输出中查找,或者ss -s | grep -Po '(?<=synrecv )\d+(?=,)'
仅打印数字。