如何减少在 Windows 上取消处于TIME_WAIT状态的 TCP 连接的时间

1、问题

在大规模Windows环境中,采用Nginx反向代理服务后,存在大量处于TIME_WAIT状态的传输控制协议(TCP)连接。默认情况下,处于TIME_WAIT状态的 TCP 连接将在 4 分钟内取消。默认情况下,动态 TCP 端口的范围从 49152 到 65535。因此,TCP 连接回收缓慢,从而导致吞吐量降低或访问失败(错误代码:502)。您可以修改操作系统 (OS) 内核参数,以缩短处于TIME_WAIT状态的 TCP 连接的回收持续时间,并扩大动态 TCP 端口范围。这可确保当大量客户端同时访问服务器时,OS 端口资源可用。

2、答

1、以管理员用户身份登录到操作系统。

2、更改 TCP 连接的回收持续时间。

  1. 在 Windows 上,选择“开始”>运行“。
  2. 在“运行”对话框中,输入注册表编辑器,然后按 Enter 打开注册表编辑器。
  3. 在注册表编辑器中,打开HKEY_LOCAL_MACHINE\系统\当前控件集\服务\Tcpip\参数。
  4. 选择“编辑>新建> DWORD(32 位)值,然后输入”Tcp 时间停止“。
  5. 右键单击“Tcp 时间停止”,然后从快捷菜单中选择“修改”。
  6. 在“编辑 DWORD(32 位)值”对话框的“基”区域中,将十进制数设置为 30,然后单击“确定”。
  7. 退出注册表编辑器。

3、修改端口范围。

  1. 在 Windows 上,选择“开始”>运行“。
  2. 输入 cmd 并按回车键打开命令行界面。
  3. 运行以下命令修改端口范围:
  4. netsh int ipv4 set dynamicportrange tcp startport=10000 端口数=60000

4、重新启动操作系统。

点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注