How to fix Vista's network bottlenecks
section: windows, for your questions: KezNews forum, 27.9.2007
Tip: Click here to update all your PC's outdated driversAs much as I enjoy using Vista, I’ve definitely noticed that in some networking activities, it definitely seems to struggle. Particularly compared with Windows XP.
For the most part it’s not a problem – I just assumed that Vista’s beefy network stack was responsible, and made a mental note to fix it at some point. And then forgot.
But recently I encountered a really frustrating problem. Using Remote Desktop Protocol (RDP) to connect from a Vista Enterprise machine to a Windows 2003 server, the performance was so woeful that I was starting to worry whether there was a problem with the server.
As it happens, my fears about the server were unfounded, but the thought that Vista’s networking stack was to blame turned out to be correct. The Next Generation TCP/IP stack in Windows Vista supports something called Receive Window Auto-Tuning. This is nothing to do with the RDP “window” you see on the screen, but rather a TCP buffer which TCP/IP clients use to ensure smooth transmission.
Essentially, the TCP receive window is the amount of data that is sent in one chunk before waiting for an acknowledgement to come back from the machine at the other end. It's one of the trickiest things to optimise in TCP/IP because you need to balance throughput with reliability -- if you transmit too much data in one go, if there is an error in the data flow, the whole lot has to be sent again. Windows XP was originally tuned for dial-up connections (lots of errors, so very small chunks of data were sent) but this caused performance problems on high speed broadband networks.
In XP SP2, Microsoft increased the receive window value for better performance on broadband, but it's still not optimal for many situations.
Vista is supposed to improve on this situation: Vista has a new feature called "Receive Window Auto-Tuning" which constantly monitors bandwidth capacity and latency, and adjusts the TCP window on the fly for any given situation. It also enables TCP window scaling – by default the maximum TCP window size if 65,535 bytes, but window scaling allows a client to advertise that it’s optimised to receive a bigger window than this – it’s designed to prevent TCP window bottlenecks in high-bandwidth environments. Vista’s maximum advertised TCP window is 16MB.
Therefore, in a given situation a Vista machine will typically receive much more network data than a Windows XP, which can result in network spiking. This isn’t necessarily a problem in itself, but it does increase the importance of actually using TCP/IP QoS (Quality of Service), which is installed and enabled by default in Vista.
The problem with Vista's new-fangled network stack
All this automatic tuning of the Vista network stack sounds great in theory, but the problem is that some clients don’t support TCP window scaling, or do but don’t have it enabled. Additionally, some firewall products also don’t support it. In either scenario, the result is dropped packets which affects network performance horrendously -- your traffic is literally dropping into a black hole, never to be seen again.
So if you’re experiencing excessive network lags on your Vista machine, especially compared to non-Vista machines, it might be worthwhile disabling auto-tuning. Do this by opening up an administrative Command Window (right-click, Run as administrator), and type in the following command:
netsh interface tcp set global autotuninglevel=disabled
You may also need to type in:
netsh interface tcp set global rss=disabled
The changes take effect straight away, with no reboot needed. Bear in mind that this is a global change, so it may really be worth your while to sit down and nut through your network's QoS settings to get things running happily without disabling auto-tuning.
Personally, I needed to RDP to that server as a matter of urgency, and disabling auto-tuning definitely did the trick. source:
apcmag.com
>> Click Here to Run a Free Scan for PC Errors <<
Send link 2 friend | Permalink
MORE RELATED ARTICLES:
Network Monitor 3.3 for Windows 7 || Network Monitor 3.3 Beta released for testers || Vista's dead: Microsoft kills an OS and no one cares || Vista's dead: Microsoft kills an OS and no one cares || Will Windows Mobile 7 fix updating?
Comments(4)
months and months old.
written really well.
so to enable it again we just write =enabled instead of
=disabled?
the following list includes all possible values for the autotuninglevel parameter:
• disabled - fix the receive window at the default value.
• highlyrestricted - allow
for the receive window to grow beyond the default value, but do so very conservatively.
• restricted - allow for the receive window to grow beyond the default value, but
limit such growth in some scenarios.
• normal - allow for the receive window to grow
to accommodate almost all scenarios.
• experimental - allow for the receive window
to grow to accommodate extreme scenarios.
note: the experimental value can
decrease performance in common scenarios. this value should be used only for research
purposes.
more info can be found here:
http://support.microsoft.com/kb/935400
what about network discovery?
what about permissions?
when will ms admit that
networking has lots of bugs?
No new comments are allowed for this article.
For your questions use our KezNews Forum
Old news
By MC on 28.09.2007 - 01:09