我们正在尝试调整一个通过 TCP 接受消息并使用 TCP 进行一些内部消息传递的应用程序。在负载测试时,我们注意到响应时间显着降低(然后完全停止),因为系统同时发出更多请求。在此期间,我们看到很多 TCP 连接处于TIME_WAIT
状态,有人建议将TIME_WAIT
环境变量从默认的 60 秒降低到 30 秒。
据我了解,该TIME_WAIT
设置实质上设置了连接关闭后 TCP 资源再次可供系统使用的时间。
我不是“网络人”,对这些事情知之甚少。我需要该链接帖子中的很多内容,但有点“笨拙”。
- 我想我明白为什么
TIME_WAIT
不能将值设置为 0,但可以安全地设置为 5 吗?10个呢?什么决定了这个值的“安全”设置? - 为什么这个值的默认值为 60?我猜想比我聪明得多的人有充分的理由选择它作为合理的默认值。
- 关于覆盖此值的潜在风险和收益,我还应该知道什么?