小编Mar*_*k D的帖子

超时期限到期后,TIME_WAIT 连接未被清除

我正在对我的一台服务器进行压力测试,它使用恒定的新网络连接流击中它,tcp_fin_timeout设置为 60,因此如果我发送恒定流,例如每秒 100 个请求,我希望看到滚动平均值6000 (60 * 100) 个连接处于一个TIME_WAIT状态,这种情况正在发生,但是查看netstat(使用 -o)查看计时器,我看到如下连接:

TIME_WAIT   timewait (0.00/0/0)
Run Code Online (Sandbox Code Playgroud)

他们的超时已过期但连接仍然存在,然后我最终用完了连接。有谁知道为什么这些连接没有得到清理?如果我停止创建新连接,它们最终会消失,但是当我不断创建新连接时,它们不会,似乎内核没有机会清理它们?我是否需要设置一些其他配置选项以在连接过期后立即删除连接?

服务器正在运行 Ubuntu,而我的 Web 服务器是 nginx。它还有带有连接跟踪的 iptables,不确定这是否会导致这些TIME_WAIT连接继续存在。

谢谢马克。

networking linux performance netstat tcp

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

linux ×1

netstat ×1

networking ×1

performance ×1

tcp ×1