手動調整 TCP 接收視窗大小,榨乾寬頻最後一滴效能
Windows 7 預設 TCP 接收視窗 (TCP Receive Window) 為 64 KB (舊版 576 bytes),對高頻寬高延遲連線 (Long Fat Networks) 效率不彰。修改登錄 `GlobalMaxTcpWindowSize` 可擴大視窗,減少重傳,提升實際下載速度。
原理:TCP 滑動視窗與頻寬延遲積 (BDP)
- BDP = 頻寬 (bps) × 往返延遲 (秒) / 8 = 最佳視窗大小 (Bytes)。
- 例:100 Mbps 光纖、延遲 30ms → BDP ≈ 375 KB。預設 64 KB 視窗僅填滿 17% 管道容量,大量封包待確認導致發送端停滯。
- 擴大視窗至接近 BDP,發送端可持續填滿管道,提升吞吐量。
修改步驟
- Win+R → `regedit` → 開啟登錄編輯器。
- 定位至:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
- 右側空白處右鍵 →「新增」→「DWORD (32 位元) 值」→ 命名 GlobalMaxTcpWindowSize。
- 雙擊修改:基數選「十進位」→ 數值 256960 (256 KB) 或依 BDP 計算調整 (建議 64 KB ~ 1 MB 區間)。
- 確定 → 關閉登錄編輯器 → 重新開機生效。
驗證效果
- 下載大檔案 (測試檔、Linux ISO、遊戲更新) 觀察速度變化。
- 命令提示字元輸入 `netsh interface tcp show global` → 檢視 `Receive Window Auto Tuning Level`、`Current TCP Window Size` 確認生效。
⚠ 注意事項
- Windows 7 已支援 TCP 視窗自動調整 (Receive Window Auto-Tuning),預設啟動。手動設定 `GlobalMaxTcpWindowSize` 為上限值,系統會在上限內動態調整。
- 設定過大 (超過 1 MB) 可能導致封包遺失時重傳開銷劇增、記憶體佔用增加、舊版路由器/防火牆相容性問題。
- 實際網速受限於 ISP 頻寬、伺服器頻寬、路由品質、線路品質,登錄調整屬「微調」,效果因環境而異。
- 現代 Windows 10/11 自動調整演算法更優,通常無需手動干預。
補充:其他網路優化登錄值
| 值名稱 | 建議值 | 功能 |
| Tcp1323Opts | 1 (啟用時間戳記) | 支援 RFC 1323 高效能擴展 |
| SackOpts | 1 (啟用 SACK) | 選擇性確認,減少重傳 |
| MaxUserPort | 65534 | 擴大使用者連接埠範圍,適合高併發 |
TCP 視窗調整是經典網路優化手段,對高頻寬高延遲連線效果明顯。Win7 環境下設定 `GlobalMaxTcpWindowSize=256960` 為穩健上限值,配合自動調整機制,可釋放額外 10-30% 下載效能。但切記:物理頻寬才是硬上限,登錄只能逼近物理上限。