当前位置: 首页 > 面试题库 >

设置TIME_WAIT TCP

周宏伯
2023-03-14
问题内容

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

据我了解,该TIME_WAIT设置实质上设置了关闭连接后再次向系统提供TCP资源的时间。

我不是“网络专家”,对这些事情了解甚少。我需要该链接文章中的很多内容,但要“简化”一下。

我想我理解为什么TIME_WAIT不能将值设置为0,但是可以安全地将其设置为5吗?那10点呢?是什么确定该值的“安全”设置?
为什么此值的默认值为60?我猜想比我聪明的人有充分的理由将其选为合理的默认值。
关于覆盖此值的潜在风险和收益,我还应该了解什么?


问题答案:

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

会话关闭后仍处于TIME_WAIT状态的原因是,在网络中仍有可能向您(或从您那里征求某种响应)的实时数据包流出。如果您要重新创建相同的元组并且其中一个数据包出现,则将其视为连接的有效数据包(并可能由于排序而导致错误)。

因此,通常将TIME_WAIT时间设置为使数据包最大寿命加倍。此值是您的数据包在网络丢弃之前可以达到的最长期限。

这样可以保证在允许您使用相同的元组创建连接之前,属于该元组的先前版本的所有数据包都将被丢弃。

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



 类似资料:
  • 我将设置为,并将其添加到我的。当我运行和echo,它们都给了我正确的信息。但是,当我运行libgdx安装程序时,它会给出以下错误:<code>错误:未设置JAVA_HOME,并且在路径中找不到任何“JAVA”命令。 请在您的环境中设置JAVA_HOME变量,以匹配您的JAVA安装位置。 有什么想法吗?

  • 设置菜单 可从主菜单进入设置当功能打开时,轻击以便将图标转成绿色。 连续心率。开关连续心率追踪。 飞行模式。切断健身追踪设备的所有无线通讯。 “请勿打扰”模式。禁用因手腕运动的显示屏亮起,并阻断来自您手机的智能通知。 心率 传感器模式。使用 A370 作为心率传感器,并配备心率接收设备。 关机。关闭设备。 重置当前蓝牙连接。若要使用任何蓝牙配件,需要与设备再次配对。 信息。查看您设备的 ID,固件

  • 一、简介   “设置"用于PHPCMS系统常用参数配置与管理员帐号维护。 二、功能演示 相关设置 管理员设置

  • 设置 设置包含:采集设置、站点设置、邮件发送设置、代理设置等 采集设置 开启自动采集、设置采集参数、图片本地化 页面渲染设置 代理设置 防止被屏蔽IP 翻译设置 支持百度翻译和有道翻译 站点设置 关闭前台首页、开启图片验证码 邮件发送设置 找回密码时使用

  • 设置 控制台有很多设置,这些设置都可以在控制面板中找到。点击右上角的齿轮按钮就能打开设置面板。 图 10. 设置面板

  • 设置 产品简介 用户可以在小程序设置页里控制授权状态,设置页位置:右上角-更多-关于-更多-设置 开放标准 对所有入驻小程序的企业开放 接口说明 jd.openSetting(OBJECT) 调起宿主客户端小程序设置界面,返回用户设置的操作结果,设置界面只会出现小程序已经向用户请求过的权限。 Object 参数说明: 参数 类型 必填 说明 success Function 否 接口调用成功的回调

  • Settings(配置设置) 是影响FreeMarker行为的已被命名的值。配置设置有很多, 例如:locale,number_format, default_encoding, template_exception_handler。可以参考 Configuration.setSetting(...)的Java API 文档 来查看配置设置的完整列表。 配置设置存储在 Configuration

  • 有两个命令使用得最多了,从第一次调用 Git 到每天的日常微调及参考,这个两个命令就是: config 和 help 命令。 git config Git 做的很多工作都有一个默认方式。 对于绝大多数工作而言,你可以改变 Git 的默认方式,或者根据你的偏好来设置。 这些设置涵盖了所有的事,从告诉 Git 你的名字,到指定偏好的终端颜色,以及你使用的编辑器。 此命令会从几个特定的配置文件中读取和写