November 14th, 2007
Windows Vista headaches part 2
I wanna talk some more about Windows Vista.
Yesterday I talked about how AutoTuning ground my networking performance to a complete halt. I tried hard not to make the tone of it accusatory, since a newer networking router would have been able to keep up with Windows Vista. It's easy to blame Microsoft for my networking headaches, but I also can't expect 6-year-old routers to work seamlessly with the latest and greatest operating system, either.
(Or can I? I'm still not really sure.)
Anyhow, after turning off AutoTuning, I had slow but somewhat functional networking performance. The network went from 0% performance to somewhere around 8% or 10% performance. (For contrast, in those heady carefree Windows XP days, even with Windows Firewall chugging and puffing along, I used to get 25% or 30%—about the best one could expect in a wireless network.)
Net-sorta-working
But I went back to that command prompt again, after discovering (on the Internet) a command that would show me the status of a whole bunch of global parameters:
netsh interface tcp show globalWhen I typed in that command (and pressed Enter), here's what mine looked like. Yours may vary a little:
Querying active state... TCP Global Parameters --------------------- Receive-Side Scaling State : enabled Chimney Offload State : enabled Receive Window Auto-Tuning Level : disabled Add-On Congestion Control Provider : none ECN Capability : disabled RFC 1323 Timestamps : disabledAnd after looking at these parameters I realised that any or all of them could be slowing down my network performance. Remember, I had an older router and older versions of Windows on other machines. All of the above variables were designed to take advantage of newer technologies. (You should never be the first in your neighborhood to paint your house.) So I figured that if disabling one of them (AutoTuning) improved performance it sort-of kind-of stood to reason that disabling them all might improve performance even more.
IPv.4 and IPv.6: And, luckily, there is an easy way to do that without having to resort to multiple command line commands. The Internet Protocols that get used most frequently (though not exclusively) are a standard from the 1980s known as IPv.4. The standard has served us all fairly well, but there are a lot of shortcomings that have become apparent over time as demands on networking have grown exponentially. And so, in the 1990s, the version known as IPv.6 (what happened to 5?) has been proposed, and even increasingly used. The above TCP parameters listed above form part of Microsoft's new technology stack designed to work with IPv.6 protocols.
You know, it's nice that Vista uses this new IP stack. And I expect that some day soon I might even take full advantage of it and have a faster, more efficient, 21st-century network at home. But for now I need my existing hardware to work; I don't want to buy a ton of new computer equipment. So it was time to turn it all off. Sorry, little chrysalis: Back into the cocoon for you (for now).
So I simply went to the network connection properties and turned off (unchecked) IPv.6, leaving the older (Windows XP and 2000) protocols IPv.4 to do all the work. And suddenly my network performance jumped to dizzying heights of nearly 20% on average. This was more than acceptable. I sighed contentedly knowing that my wireless networking was pretty much what it ought to be. And, better than anything else, I didn't have to learn what the @($&* "Chimney Offloads" and "Receive-Side Scaling" meant.
Later I was able to improve my networking efficiency even more, but I'll talk about that tomorrow.
Read more rants -
- Comment on this rant - Email me