Hyper-V performance some thoughts

There is quite a lot of documentation (http://technet.microsoft.com/en-us/library/cc794762.aspx) and blogs on how to get the best peformance from Hyper-V. Here are some of my thoughts.

1. Disk:   allow separate disks for the parent partition (ie 2008/Hyper-V)
For the VM’s, if you can spread them across multiple disks you will have less contention per VM – something like 4 pairs of RAID1 (1 for OS and 3 partitions for VM’s) might give you better performance than 2 disks in RAID1 (for OS) and 6 disks in RAID5 (for VM’s)

2. Fix Disk (not the default) will give the VM better performance than dynamic as there will be less operations and fragmentation when expanding the disks as they grow.

3. Memory: Ensure the parent partition has sufficient RAM to cope with the workload. Recommend minimum is 500MB, but if you perfmon it’s usage you can see if this is sufficient. Keep perfmon running on the parent partition from the first day, gathering stats every 5 minutes and fixed at 500MB. This will give you a baseline of the server over a 1 to 2 week period. As you grow the VM numbers you can see how the load is impacting the hardware.

4. Processor: ensure you look up the correct logical to virtual processor ratios, also ensure the guest VM’s run with the correct maximum virtual processors

5. Network: Again, it is best to allow the Parent Partition to have its own dedicated NIC, then have another NIC for every 4 VM’s, again perform counters can help determine this ratio of VM's to NIC.

Use the perfmon counters that come with the Vital Signs course, plus add in the Hyper-V counters as stated here: http://msdn.microsoft.com/en-us/library/cc768535.aspx

Some of the other resources that will assist with getting the most from your Hyper-V server

HW Sizing Help

To find the list of supported server configs:
Go to http://www.windowsservercatalog.com/ .
Select the Certified Servers on the right hand side.
Select Windows Server 2008 (x64) on the left hand side.
Select Hyper-V on the left hand side.

The Performance Tuning Guidelines for Windows Server 2008 has been updated to include perf guidelines for virtualization servers: http://www.microsoft.com/whdc/system/sysperf/Perf_tun_srv.mspx

Joeelway's blog links to a handy Hyper-V RAM Calculator you can use to plan your Hyper-V deployment: http://cid-2095eac3772c41db.skydrive.live.com/self.aspx/Public/Hyper-V%20RAM%20Calculator.xls

Storage Resources





Jose Barreto's blog post: http://blogs.technet.com/josebda/archive/2008/02/14/storage-options-for-windows-server-2008-s-hyper-v.aspx

Hyper-V How To: Shrink a VHD File

Jeremy Hagen's blog post describes some implementation workarounds for shrinking VHD sizes.


Hyper-V How To: Plan HA VMs

Jeremy Hagen's blog post details some planning considerations for high availability VMs.


Running SQL Server 2008 in a Hyper-V Environment - Best Practices and Performance Recomme...

This white paper describes a series of test results, configurations represented a variety of possible scenarios involving SQL Server running in Hyper-V. It also presents best practice recommendations for configuration.


Planning considerations for AD on Hyper-V

Considerations when hosting Active Directory domain controller in virtual hosting environ...

KB 888794 is from 2006, but discusses considerations when a Microsoft Windows 2000 Server-based domain controller, a Windows Server 2003-based domain controller, or a Windows Server 2008-based controller runs in a virtual hosting environment. Virtual hosting environments include the following, among others: Hyper-V, Microsoft Virtual PC, Microsoft Virtual Server 2005, EMC VMware.


Technorati Tags: Hyper-V,Peformance,Windows Server 2008,Virtualization