As the Hyper-V moved from Beta to RC, Hyper-V performance have grown quite a bit. It’s time to put some tips out on how to avoid some common pitfalls.
Pitfall 1: The first and most common has been running without Integration Components (http://blogs.msdn.com/tvoellm/archive/2008/01/02/hyper-v-integration-components-and-enlightenments.aspx ) This is understandable because they are new with Hyper-V and figuring out if they are running is not simple unless you know a few tricks.
The IC’s are important because they can improve overall workload performance from 10’s of percent to more commonly 100’s of percent. This is why they are so important.
Resolution: Make sure IC’s are installed. I have two tips on how to do this.
The first is to connect your VHD’s / Drives to the Virtual Machine using the virtual SCSI controller. What’s nice about this is if your drive shows up is Disk Manager (run diskmgmt.msc) you know you are using IC’s. The virtual SCSI controller requires VMBus to transfer data from the guest to the root for processing. I also like to put my drives on the virtual SCSI controller because in some cases performance is better. Yes this is really true this time. I have the data J Filter driver IDE is very efficient and you won’t have any issue using it as a data drive for most applications. My personal preference is virtual SCSI.
The second tip is to check the device manager to see if VMBus is present and running. VMBus in and of its self does not mean all your devices are running though IC’s. Rather it is a prereq. For example if you attach a “Legacy Network Adapter” to your VM in the Hyper-V manager or via WMI you are running your network over the emulated path which is slower. IC's wont fix this.
Here is a picture of VMBus in the guest device manager. You also notice some of the more user visible Hyper-V IC’s like Hyper-V Heartbeat, […]
Hyper-V, Hypervisior, Windows Server 2008, Virtualization, Performance, Tips, Tips and Tricks