Windows Server 2003 作業系統本身不限制連接數,但預設參數嚴重制約高併發性能。透過登錄表調整 TCP/IP 參數,可釋放系統潛能,支援 10 萬以上並發連接。眾多大型服務 (如 PPStream、盛大遊戲、騰訊 QQ) 均採用 Windows 平台支撐百萬級連接。
路徑:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
| 參數名稱 | 類型 | 建議值 | 說明 |
|---|---|---|---|
| SynAttackProtect | REG_DWORD | 1 | 啟用 SYN 攻擊防護 (SP1 預設值),減少 SYN+ACK 重試次數 |
| TcpMaxHalfOpen | REG_DWORD | 100000 (0x186A0) | 允許的半開連接上限,預設 5000,大幅提高可承受更多並發握手 |
| TcpMaxHalfOpenRetried | REG_DWORD | 100000 (0x186A0) | 觸發 SYN 防護的半開連接閾值,預設 2500,同步調高 |
修改完成需重新啟動伺服器生效。
客戶端預設僅 5000 個臨時連接埠 (1024-5000),高併發易耗盡導致 WSAENOBUFS (10055) 錯誤。
同樣路徑下新增/修改:
| 參數名稱 | 類型 | 建議值 | 說明 |
|---|---|---|---|
| MaxUserPort | REG_DWORD | 65534 (0xFFFE) | 擴充臨時連接埠範圍至最大值 (1024-65534) |
| TcpTimedWaitDelay | REG_DWORD | 30 (0x1E) | 縮短 TIME_WAIT 狀態持續時間 (預設 240 秒),加速連接埠重用 |
| TcpNumConnections | REG_DWORD | 100000 (0x186A0) | 設定客戶端最大並發連接數 |
"MaxUserPort"=dword:0000ffff
"TcpTimedWaitDelay"=dword:0000001e
"TcpNumConnections"=dword:000186a0
"TcpMaxHalfOpen"=dword:000186a0
"TcpMaxHalfOpenRetried"=dword:000186a0
"SynAttackProtect"=dword:00000001
"TCPWindowSize"=dword:0005ae4c
"GlobalMaxTcpWindowSize"=dword:0005ae4c
"KeepAliveTime"=dword:000927c0
注意:調整後必須重新啟動生效;建議配合網路卡 RSS、中斷親和性等硬體層面優化;實際極限仍受記憶體、CPU、網路頻寬等硬體資源制約。
Windows Server 2008 PXE 與 WDS 共存部署與切換實戰指南
Windows Server 2012 R2 WSUS 部署與管理實務指南
Windows Server 2008 安裝 Active Directory 後的必要檢查清單
Hyper-V 快速上手:虛擬硬碟、虛擬機儲存路徑與鍵盤/滑鼠釋放鍵設定
Windows Server 2008 域管理新體驗:RODC、角色分離與離線維護
Windows Server 2003 VPN 實作系列 (三):遠端用戶端 VPN 連線與驗證