Disable TCP Auto-Tuning to Solve Slow Network (Vista)

Posted Thursday, 21 June 2007 by Misha Hanin
Digg!

When Windows Vista 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 0×800CCC19 timeout.
  • Slow email sending or retrieval using Thunderbird and other clients.

 The symptoms exist due to the new re-written TCP stack in Windows Vista that aims to take full advantage of hardware advances such as gigabit networking. Among the new feature in Windows Vista 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 Vista 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 Vista. 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 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 : enabled
          Receive Window Auto-Tuning Level : normal
          Add-On Congestion Control Provider : none
          ECN Capability : disabled
          RFC 1323 Timestamps : disabled


Disable TCP 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 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

For more useful articles, tips and tricks go to the "The System Administrators" home page or use Search





Reddit!Del.icio.us!Google!Facebook!Slashdot!Netscape!Technorati!StumbleUpon!Newsvine!Furl!Yahoo!Ma.gnolia!Free social bookmarking plugins and extensions for Joomla! websites! title=
 

Add comment

You have no rights to add a new comment. May be you need to register on the site.