性能提升-如何設置Windows操作系統TIME_WAIT狀態的TCP連接快速回收時間?

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

修改TCP回收時間。

  • 在Windows開始菜單中,單擊“運行”。
  • 在“運行”對話框中,輸入“regedit”後按“Enter”打開註冊表編輯器。
  • 在“註冊表編輯器”中打開“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters”路徑。
  • 在“編輯”菜單中,選擇“新建 > DWORD (32-位)值”,輸入名稱“TcpTimedWaitDelay”。
  • 右鍵單擊TcpTimedWaitDelay,選擇“修改”。
  • 在“編輯 DWORD(32位)值”對話框的“基數”區域中,選擇十進制值爲“30”,並“確定”。
  • 關閉註冊表編輯器。

修改端口範圍。

  • 在Windows開始菜單中,單擊“運行”。
  • 輸入“cmd”並按“Enter”打開命令執行窗口。
  • 執行如下命令修改端口範圍。netsh int ipv4 set dynamicportrange tcp startport=5000 numberofports=60000

重啓操作系統。

image

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章