Getting the best performance out of Hyper-V (So many questions. So little time. Part 34)

Bryan W. asked a big question at a TechNet Event a couple of weeks ago:

Evaluation Software Found Here

This question brings up a pretty big topic: Hyper-V performance.  And even more fundamentally it’s also a question of VHDs (Virtual Hard Disks) and how they perform based on their type or configuration. 

The quick answer to your question, Bryan, is YES.  Whenever you can get more spindles working on a problem you’re likely to get better performance.  When I’m using differencing disks, I like to keep a parent disk on a different disk than the child disk.  And this also applies if you’re deciding where you want to put virtual machine snapshots.  Personally I like to keep my machine hard disks along with the machine configuration, but if I really wanted to squeeze out the best performance, I’d do things differently.

“Are there any documents or pages out there that describe good performance practices for Hyper-V?”

Thankfully, yes.  The document “Performance Tuning Guidelines for Windows Server 2008 R2” has a “Performance Tuning for Virtualization Servers” section, and pages 86-89 of that section provide a great discussion on optimizing storage I/O; such as this gem:

Physical Disk Topology
VHDs that I/O-intensive VMs use generally should not be placed on the same physical disks because this can cause the disks to become a bottleneck. If possible, they should also not be placed on the same physical disks that the root partition uses.

A “Performance Tuning for the Storage Subsystem” section (page 24) also describes, in great detail, the options and their implications when configuring virtual machine storage.

And if you really want to know how to measure a virtual machines performance based on a number of factors (Disk, Memory, Network, and CPU), check out this “Measuring Performance on Hyper-V” article.

---

What about you? How are you wringing the most out of the performance of your Hyper-V installations and virtual machines? Share your best practices in the comments.