Windows操做系統error10048端口釋放問題TIME_WAIT狀態的TCP鏈接快速回收時間

本文來自於https://blog.csdn.net/stillfantasy1988/article/details/43196627?tdsourcetag=s_pcqq_aiomsg、http://www.huawei.com/ecommunity/bbs/10221255.htmlhtml

 

1.問題

大規模Windows環境下,採用Nginx反向代理服務後,操做系統會產生較多TIME_WAIT的TCP(Transmission Control Protocol)鏈接,操做系統默認TIME_WAIT的TCP鏈接回收時間是4分鐘,TCP默認動態端口範圍爲開始端口49152,結束端口65535。這樣會使回收TCP過慢致使系統吞吐量降低,甚至出現502訪問失敗問題。如何修改操做系統內核參數來縮短TIME_WAIT狀態TCP鏈接回收時間和添加TCP動態端口範圍,保證在大併發場景下操做系統的端口資源可用?併發

2.解決辦法

  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=60000tcp

  4. 重啓操做系統。
相關文章
相關標籤/搜索