windows 下解决 Time_Wait 和 CLOSE_WAIT 方法

修改Time_Wait参数的方法 (在服务端修改)
Windows下在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters,添加名为TcpTimedWaitDelay的
DWORD键,设置为30,以缩短TIME_WAIT的等待时间 


解决CLOSE_WAIT的方法:(在客户端修改)
1 通常缘由都是TCP链接没有调用关闭方法。须要应用来处理网络连接关闭。
2 对于Web请求出现这个缘由,常常是由于Response的BodyStream没有调用Close.
好比Widnows下:
使用HttpWebRequest 必定要保证GetRequestStream和GetResponse对象关闭,不然容易形成链接处于CLOSE_WAIT状态
3 TCP的KeepLive功能,可让操做系统替咱们自动清理掉CLOSE_WAIT的链接。
可是KeepLive在Windows操做系统下默认是7200秒,也就是2个小时才清理一次。每每知足不了要求。能够调小该数值。
Windows下的调整方法为
HKEY_LOCAL_MACHINE/CurrentControlSet/Services/Tcpip/Parameters下的如下三个参数: 
KeepAliveInterval,设置其值为1000   www.2cto.com  
KeepAliveTime,设置其值为300000(单位为毫秒,300000表明5分钟) 
TcpMaxDataRetransmissions,设置其值为5
Close_Wait引起的问题:
Close_Wait会占用一个链接,网络可用链接小。数量过多,可能会引发网络性能降低,并占用系统非换页内存。 尤为是在有链接池的状况下(好比HttpRequest)
会耗尽链接池的网络链接数,致使没法创建网络链接


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]


“KeepAliveTime”=dword:006ddd00
“KeepAliveInterval”=dword:000003e8
“MaxDataRetries”=”5″网络

相关文章
相关标签/搜索