Windows操作系统TIME_WAIT状态的TCP连接快速回收时间(性能测试时端口不够用)

https://www.bilibili.com/read/cv16258140

大规模Windows环境下,采用Nginx反向代理服务后,操作系统会产生较多TIME_WAIT的TCP(Transmission Control Protocol)连接,操作系统默认TIME_WAIT的TCP连接回收时间是4分钟,TCP默认动态端口范围为开始端口49152,结束端口65535。这样会使回收TCP过慢导致系统吞吐量下降,甚至出现502访问失败问题。如何修改操作系统内核参数来缩短TIME_WAIT状态TCP连接回收时间和添加TCP动态端口范围,保证在大并发场景下操作系统的端口资源可用?

回答

1、以Administrator用户登录Windows操作系统。

2、修改TCP回收时间。

  1.   在Windows开始菜单中,单击“运行”。
  2.   在“运行”对话框中,输入“regedit”后按“Enter”打开注册表编辑器。
  3.   在“注册表编辑器”中打开“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters”路径。
  4.   在“编辑”菜单中,选择“新建 > DWORD (32-位)值”,输入名称“TcpTimedWaitDelay”。
  5.   右键单击TcpTimedWaitDelay,选择“修改”。
  6.   在“编辑 DWORD(32位)值”对话框的“基数”区域中,选择十进制值为“30”,并“确定”。
  7.   关闭注册表编辑器。

3、修改端口范围。

  1. 在Windows开始菜单中,单击“运行”。
  2. 输入“cmd”并按“Enter”打开命令执行窗口。
  3. 执行如下命令修改端口范围。

    netsh int ipv4 set dynamicportrange tcp startport=5000 numberofports=60000

4、重启操作系统。

posted @ 2022-12-27 10:54  忧伤恋上了快乐  阅读(440)  评论(0编辑  收藏  举报