gpt4 book ai didi

tcp - 设置 TIME_WAIT TCP

转载 作者:可可西里 更新时间:2023-11-01 02:28:40 30 4
gpt4 key购买 nike

我们正在尝试调整一个应用程序,该应用程序通过 TCP 接受消息并且还使用 TCP 进行某些内部消息传递。在负载测试时,我们注意到随着对系统同时发出更多请求,响应时间显着降低(然后完全停止)。在此期间,我们看到很多 TCP 连接处于 TIME_WAIT 状态,有人建议将 TIME_WAIT 环境变量从默认的 60 秒降低到 30 秒。

来自 what I understand , TIME_WAIT 设置本质上是设置 TCP 资源在连接关闭后再次可供系统使用的时间。

我不是“网络人”,对这些东西知之甚少。我需要该链接帖子中的很多内容,但需要“简化”一点。

  • 我想我理解为什么不能将 TIME_WAIT 值设置为 0,但是可以安全地将它设置为 5 吗? 10个呢?什么决定了这个值的“安全”设置?
  • 为什么这个值的默认值为 60?我猜比我聪明得多的人有充分的理由选择这个作为合理的默认值。
  • 关于覆盖此值的潜在风险和好处,我还应该了解什么?

最佳答案

TCP 连接由元组指定(源 IP、源端口、目标 IP、目标端口)。

session 关闭后出现 TIME_WAIT 状态的原因是网络中可能仍有事件数据包在发送给您(或来自您的可能请求某种响应)的途中。如果您要重新创建相同的元组并且其中一个数据包出现,它将被视为您连接的有效数据包(并且可能由于排序而导致错误)。

所以TIME_WAIT时间一般设置为包最大年龄的两倍。该值是您的数据包在网络丢弃它们之前允许到达的最长期限。

这保证了,在您被允许创建与同一元组的连接之前,属于该元组先前化身的所有数据包都将失效。

这通常决定了您应该使用的最小值。最大数据包生命周期由网络属性决定,例如卫星生命周期高于 LAN 生命周期,因为数据包还有很长的路要走。

关于tcp - 设置 TIME_WAIT TCP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/337115/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com