朋友公司的產品運行在windows+nginx+tomcat平臺,發現鏈接接稍微一大,訪問就有問題。在主機上經過netstat進行查看時,也發現有大量time_wait的狀況 。在linux平臺上這個問題很是好解決,經過sysctl.conf調節tcp/ip參數便可。windows下經確認也有相似的調節機制,其叫dynamicportrange。html
1、windows7/win2008平臺下linux
一、查看可用端口數nginx
如下是我在win7下查看的結果windows
C:\Users\thinkpad>netsh int ipv4 show dynamicportrange tcp 協議 tcp 動態端口範圍 --------------------------------- 啓動端口 : 1025 端口數 : 13976
win2008下經查是 49152 through 65535 ,可用端口數16384個。tomcat
二、netsh命令修改可用端口數tcp
netsh int ipv4 set dynamicport tcp start=2000 num=63000 netsh int ipv4 set dynamicport udp start=2000 num=63000 netsh int ipv6 set dynamicport tcp start=2000 num=63000 netsh int ipv6 set dynamicport udp start=2000 num=63000
三、time_wait超時時間調整網站
regedit打開註冊表,添加htm
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 「MaxUserPort」=dword:0000fffe 「TcpTimeWaitDelay」=dword:0000005 (縮短爲5秒)
參考頁面,微軟support頁。blog
2、windows xp/win2003ip
如下是從一些網站上找到的信息:
基於上不少網站只提示了win2003的可用端口範圍,但並無給出怎麼去調節win2003主機的端口調節方法 。這裏一樣經過微軟官方技術站,找到了修改方法。
一、修改可用端口範圍
打開註冊表--定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters --編輯新建DWORD Value ,新增MaxUserPort
Value data: Enter a decimal value between 5000 and 65534 here
須要特別注意,修改完成後,須要重啓主機生效。
二、修改time_wait值
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters On the Edit menu, click New, DWORD Value Value name:TcpTimedWaitDelay Value data :
默認值是240秒(可用範圍是30-300),這裏修改成30秒後,重啓系統使修改生效。
參考頁面:microsoft msdn頁