大規模Windows環境下,采用Nginx反向代理服務后,操作系統會產生較多TIME_WAIT的TCP(Transmission Control Protocol)連接,操作系統默認TIME_WAIT的TCP連接回收時間是4分鍾,TCP默認動態端口范圍為開始端口49152,結束端口65535。這樣會使回收TCP過慢導致系統吞吐量下降,甚至出現502訪問失敗問題。如何修改操作系統內核參數來縮短TIME_WAIT狀態TCP連接回收時間和添加TCP動態端口范圍,保證在大並發場景下操作系統的端口資源可用?
回答
- 以Administrator用戶登錄Windows操作系統。
- 修改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
- 重啟操作系統。
原文地址:http://www.huawei.com/ecommunity/bbs/10221255.html