Disable TCP Receive Window Auto-Tuning (Fix Slow Internet / Cannot Load Web Page / Cannot Download Email)

»»»Disable TCP Receive Window Auto-Tuning (Fix Slow Internet / Cannot Load Web Page / Cannot Download Email)
When Windows operating system is connected to high speed broadband Internet connection, there may be some incompatibilities and conflict problem or error such as the following:

  • Poor intermittent network performance.
  • Slow network loading.
  • Unable to open and load some websites or webpages using Internet Explorer or Firefox, where the blue loading bar keeps running for a long time, but the pages fail to load.
  • Java applets fail to download and open.
  • Cannot receive email or download from POP3 mail server by email clients such as Thunderbird. No mail arrived although users may see the message “receiving 1 of 3 messages”, and eventually the receiving process will time out with the error number 0x800CCC19 timeout.
  • Slow email sending or retrieval using Thunderbird and other clients.

The symptoms exist due to the new re-written TCP stack introduced since Windows Vista that aims to take full advantage of hardware advances such as gigabit networking. Among the new feature in Windows TCP/IP is Receive Window Auto-Tuning Level for TCP connections. TCP AutoTuning enables TCP window scaling by default and automatically tunes the TCP receive window size for each individual connection based on the bandwidth delay product (BDP) and the rate at which the application reads data from the connection, and no longer need to manually change TcpWindowSize registry key value which applies to all connection. Theoretically, with TCP auto-tuning, network connection throughput in Windows should be improved for best performance and efficiency, without registry tweak or hack. However, this is not always the case, and may cause some Internet related issues and problems.

The workaround or solution to the above problem is to disable the TCP/IP AutoTuning in Windows. Disabling auto tuning of TCP Windows Size should not cause any negative effects, only that TCP Window Size will always at default value without ability to optimization to each connection. Anyway, if there is any side effect after turn off auto tuning, simply re-enable back it.

Check the State or Current Setting of TCP Receive Window Auto-Tuning

  1. Open elevated command prompt with administrator’s privileges.
  2. Type the following command and press Enter:
    netsh interface tcp show global

    The system will display the following text on screen, where you can check on the Auto-Tuning setting:

    Querying active state…

    TCP Global Parameters
    Receive-Side Scaling State : enabled
    Chimney Offload State : disabled
    NetDMA State : disabled
    Direct Cache Access (DCA) : disabled
    Receive Window Auto-Tuning Level : normal
    Add-On Congestion Control Provider : none
    ECN Capability : disabled
    RFC 1323 Timestamps : disabled
    Initial RTO : 3000
    Receive Segment Coalescing State : disabled
    Non Sack Rtt Resiliency : disabled
    Max SYN Retransmissions : 2

    Note: Some earlier versions of Windows such as Windows Vista may be missing some parameters.

Disable TCP Receive Windows Auto-Tuning

  1. Open elevated command prompt with administrator’s privileges.
  2. Type the following command and press Enter:
    netsh interface tcp set global autotuning=disabled

Enable TCP Receive Windows Auto-Tuning

  1. Open elevated command prompt with administrator’s privileges.
  2. Type the following command and press Enter:
    netsh interface tcp set global autotuning=normal
If you’re getting the following message when querying TCP Global Parameters, it means that Windows Scaling heuristics configuration is enabled and “restricted” or “highlyrestricted” value been applied to Receive Window Auto-Tuning Level setting indirectly.

** The above autotuninglevel setting is the result of Windows Scaling heuristics overriding any local/policy configuration on at least one profile.

Both “restricted” or “highlyrestricted” settings limit the ability of receive window to grow beyond its default value.

Check and view the TCP Window Scaling Heuristics Parameters

netsh interface tcp show heuristics

Disable TCP Window Scaling Heuristics

netsh interface tcp set heuristics disabled

The trick works in most Windows versions, including Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10 and later.

The same settings can also potentially increases the download speed.

By | 2016-12-09T08:40:15+00:00 December 9th, 2016|Categories: Windows|Tags: |15 Comments

About the Author:

LK is a technology writer for Tech Journey with background of system and network administrator. He has be documenting his experiences in digital and technology world for over 15 years.Connect with LK through Tech Journey on Facebook, Twitter or Google+.
  • Jug

    Only do this if you experience problems though, because if your hardware supports these techniques properly, it's likely Vista will otherwise give improved networking performance compared to XP with this enabled. So it should be considered just a fallback solution.

  • Pingback: Seite kann nicht angezeigt werden / kein Mailabruf / langsames Netzwerk - Dr. Vista - Windows-Hilfe mit Rezept()

  • Nell

    I tried this because I was experiencing just these issues with Vista, but it didn't help. Thanks for trying to help, though…

  • Mark

    It fixed my problem with email after updating to vista from xp. Email would not dl but 1 message and timeout.

  • Pingback: Optimize Vista for BitTorrent, eMule, P2PTV | TorrentFreak()

  • sometimes

    This patch is useless with Vista SP1 and this "Safe Mode black screen" at each startup, because the tcpip.sys is not signed. (On 64bit and after SP1 on 32bit Vista too)

  • I could access every website on the internet except one (www.telemarket.fr) from one computer on my network. All the others could access it fine with the same IC. This worked like a charm and now I can access it.

  • Thanks, the tutorial is easy to follow. The web seems slightly faster. I still need to test it more.

  • KnightKat

    I disabled this because I read that it would fix a problem I'm having. It didn't help and now when I try to turn it back on it says "Set global command failed on WSH The system cannot find the filed specified" Can anyone help me?

  • KO

    After trying every solution on the web, here is the solution that I found really effective: Set your NIC's duplex setting to "HALF" not FULL. Ex. If your on a 100mb network, set the problem machines to 100mb Half Duplex.

    Before running this fix, my WAN/LAN was 1.5 mb/s / 100 KB/s – horrible!

    After: 19/75 mb/s! A 13x/7500x fold increase!

    "Don't care how/why it works, just that it works!"

    • trxr

      If anyone else reads this, don’t follow this advice. Obviously the problem was at the router or switch end – half duplex hasn’t been a thing since the 90s. Nearly any network you encounter these days should be full duplex.

  • joe

    I tried entering the words you said in command prompt it keeps saying it is not recognixed as an internal or external command. I have Vista.

  • Brian

    To turn auto tuning back on use the following commandnetsh interface tcp set global autotuning=normal

  • Pingback: Massive stutter issues!! - Page 5 - MediaPortal Forum()

  • dom

    Many thanks ?