Since I switched to gigabit network some months ago I often saw a lousy network performance against other computers in my local network. It wasn’t enough annoying to actually investigate. However, one day I said: enough is enough. Time for an investigation even if I have to loose a day (which I lost).
So I equipped myself with pcattcp network performance tool (found through Coding Horror blog) which is a great and simple utility – perfect for me. So I started testing and tests confirmed that local network performance is sub 100Mb/s even though I am on 1Gb/s speed. Why would that be? My first instinct was that there has to be a hardware/driver issue. After praying a bit (on the knees next to my computer, experimenting for a couple of hours with different network cards, cables and configurations) it was obvious that this wasn’t it. It has to be a software problem then. So I’ve restarted Vista in safe mode with networking only (which I should have done from beginning) and the network performed as it supposed to perform (~60MB/s). Hua, it looked like a service or some other application that runs at startup interferes with my network. My instinct was again active and suggested NOD antivirus that I am using (mostly with its real-time features disabled). It is a fine antivirus, but still, it is an antivirus which might create collateral damage.
So I restarted with only NOD disabled and guess what, network worked with full speed as in safe start. I said, OK, that was it, cursing antivirus software – unjustified, as you’ll see soon.. And started working the usual stuff. After a while I rechecked the network performance only to, my disappointment, see that it is stuck again. Oh well. Sorry NOD, I wrongly accused you. But why did the network problem manifested only after a while? Then it struck me, perhaps not that obvious, that I am currently listening Winamp‘s shoutcast radio. Can Winamp have such a power to cause Vista network problems? I closed Winamp and network regained the full speed. Even though my odd experience with iTunes I didn’t believe that Winamp is actually the culprit. I was right, the same happens with Windows Media Player (or any other audio/video player) – as soon as one starts listening music or watching video – bum, there goes 2/3 of your precious bandwidth.
It has to do with QOS or something like that then. Now, that I had pinpointed the problem I was able to make a phone call to [MS] local support. As soon I told the engineer words: network, audio and playing he said: “Right, it is a known ‘feature’ in Vista with no currently available official fix“. He kindly sent me two links, one is referencing Mark Russinovich’s blog post describing the background (Multimedia Class Scheduler – MMCSS being a culprit) and one link to a possible workaround. Luckily the workaround works, kudos to Courtney Malone and to local [MS] support.
However, the bitter taste remains. Who the heck developed such a lame solution? The collateral damage is just incredible. Imagine driving a car on the highway, you turn on the radio and bum – there goes your speed from 130km/h to 40km/h. Though radio might play better.
Was MMCSS programmed by a high school intern? By a person who doesn’t know the real world? Who knows. We can only hope that this issue is addressed in SP1.