Mar*_*k D 7 networking linux performance netstat tcp
我正在对我的一台服务器进行压力测试,它使用恒定的新网络连接流击中它,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连接继续存在。
谢谢马克。
net.ipv4.tcp_fin_timeout 默认为 60 秒。我一直不清楚为什么套接字在 TIME_WAIT 中停留的时间往往超过此限制。
据报道 tcp_tw_recycle 已损坏,我不知道,因为我不使用它。您可能需要将 tcp_tw_reuse 设置为 1,但这可能会导致 NAT 出现问题。
| 归档时间: |
|
| 查看次数: |
11402 次 |
| 最近记录: |