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″網絡

相關文章
相關標籤/搜索