The default setting that caps your network
Windows ships with conservative TCP auto-tuning for backward compatibility with ancient routers. On a modern gigabit LAN or fibre broadband you're often getting a fraction of what you paid for — not because your ISP is throttling you, but because Windows is.
Check your current setting
Open an elevated Command Prompt (Right-click → Run as administrator) and run:
netsh interface tcp show global
Look at the Receive Window Auto-Tuning Level line. If it says disabled or restricted, you're leaving speed on the table.
The fix
netsh interface tcp set global autotuninglevel=normal
normal is the sane default for modern connections. Reboot, then re-test your speed at fast.com or speedtest.net. Expect a real jump on any connection over 100 Mbps.
What this actually does
TCP auto-tuning lets Windows scale the receive window — how much data the server is allowed to send before waiting for an ACK. A small window limits bandwidth on high-latency or high-bandwidth links. normal lets Windows grow the window up to ~16 MB, which is what modern connections need.
Other hidden throttles worth knowing
- Chimney offload (older NICs):
netsh int tcp set global chimney=enabled - Large Send Offload (LSO): check in Device Manager → Network Adapter → Advanced tab. Enable if present.
- Metered connection flag: Settings → Network → Wi-Fi → Metered Connection. If this is on, Windows throttles background traffic. Turn off if you're not on mobile data.
Validate it worked
Install iperf3 on two machines on your LAN (choco install iperf3 works). Run a server on one, client on the other, and measure your actual link speed. On a gigabit LAN you should see 900+ Mbps. Anything less suggests driver, cable, or NIC issues — not Windows.
Takeaway
A one-command change that's safe to apply on any modern Windows 10/11 machine. Reversible with autotuninglevel=disabled if something breaks, but I've never seen normal cause issues on 2010-or-later hardware.