I recently had a client's specialist software provider tell them that their network is shafted, really slow and poorly performing. Hmmm. I ran all the tests you could think of between clients PC's and their various Windows servers, everything was fine, yet their software provider maintained their statement that the network wasn't in good order.
After a few simple checks against their server, which ran Ubuntu 11.10 in a Hyper-V 2008 R2 guest, I called their bluff as ping times were staggeringly bad some up to 2000ms and beyond ! I double checked against all other PC's on the network and against their Windows servers, both physical & virtual - everything seemed fine. File transfers between computers on the network were superb for a busy network, transferring files over the internet via their FTTC line was perfectly acceptable.
Yet the Ubuntu guest was still running really poorly. I told them what I'd done so far and that I found after a short search that 11.10 was a bad Hyper-V candidate and they should upgrade to 12.04 or newer. Which they did, and the upgrade broke the Ubuntu server. Fantastic. Now when I say broke I mean as in it had no network connectivity after finishing it's boot sequence, well it responded for a maybe 10-15 pings then stopped thereafter. Oh joys. Contacting the software vendor was futile as they had no clue on where to go from here.
Linux cap on for the first time in, ohhhh 8 years? I'm usually a BSD & Windows guy. Yes, BSD is similar to Linux, but it's not nearly as lame.
After a bit more testing, a few restores into a test Hyper-V guest, some upgrades working some not and examining the logs of those that failed (/var/log/kern.log) I discovered that the IRQBalance service was too blame! How very dare it ruin my day?! So to resolve the issue I disabled it in /etc/default/irqbalance by changing Enabled="1" to ="0" and rebooting.
et voila - they now have a working Ubuntu 12.04 server, which has fantastic ping times. I was shocked to learn that 12.04 was aimed at being Hyper-V compatible after this kerfuffle. Pfft.