windows下可用连接调节及time_wait调优
朋友公司的产品运行在windows+nginx+tomcat平台,发现连接接稍微一大,访问就有问题。在主机上通过netstat进行查看时,也发现有大量time_wait的情况 。在linux平台上这个问题非常好解决,通过sysctl.conf调节tcp/ip参数即可。windows下经确认也有类似的调节机制,其叫dynamicportrange。
一、windows7/win2008平台下
1、查看可用端口数
以下是我在win7下查看的结果
1C:\Users\thinkpad>netsh int ipv4 show dynamicportrange tcp
2协议 tcp 动态端口范围
3---------------------------------
4启动端口 : 1025
5端口数 : 13976
win2008下经查是 49152 through 65535 ,可用端口数16384个。
2、netsh命令修改可用端口数
1netsh int ipv4 set dynamicport tcp start=2000 num=63000
2netsh int ipv4 set dynamicport udp start=2000 num=63000
3netsh int ipv6 set dynamicport tcp start=2000 num=63000
4netsh int ipv6 set dynamicport udp start=2000 num=63000
3、time_wait超时时间调整
regedit打开注册表,添加
1HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
2“MaxUserPort”=dword:0000fffe
3“TcpTimeWaitDelay”=dword:0000005 (缩短为5秒)
参考页面,微软support页。
二、windows xp/win2003
以下是从一些网站上找到的信息:
基于上很多网站只提示了win2003的可用端口范围,但并没有给出怎么去调节win2003主机的端口调节方法 。这里同样通过微软官方技术站,找到了修改方法。
1、修改可用端口范围
打开注册表--定位到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters --编辑新建DWORD Value ,新增MaxUserPort
Value data: Enter a decimal value between 5000 and 65534 here
需要特别注意,修改完成后,需要重启主机生效。
2、修改time_wait值
1HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
2On the Edit menu, click New, DWORD Value
3Value name:TcpTimedWaitDelay
4Value data :<Enter a decimal value between 30 and 300 here>
默认值是240秒(可用范围是30-300),这里修改为30秒后,重启系统使修改生效。
参考页面:microsoft msdn页
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/win-dynamic-port-timewait/5255.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.