As a user of server virtualization tools, and a follower of the market, I've always thought that VMware's lead was evident primarily on the management side of the ledger--with vCenter integration, vMotion, Distributed Resource Scheduler (DRS) and the like. Microsoft Hyper-V, I thought, was a competitive hypervisor that needed a bit more age in the bottle to develop the features that I love in vSphere. Then Overland Storage hired my firm, DeepStorage.net, to test its SnapSAN S2000 in both environments, and I saw that the same hardware could perform about 23% more input/output operations per second (IOP) under vSphere than under Hyper-V.
The same S2000, connected to the same Dell R710 server, could handle 733 aggregate IOPs under Windows Server 2008 R2 with Hyper-V and 955 aggregate IOPs under vSphere when running our multiple workload benchmark.
I was frankly somewhat surprised at the results, but since both tests ran on the same system, and used the operating system/hypervisor's native iSCSI initiator and multipath support, I don't have a better explanation than that vSphere has a cleaner I/O path than Windows. Given that the performance difference was greatest for JetStress, I'm thinking that I/O latency is the biggest factor in the result.
I'm sure some Microsoftie, or MS fanboi, will respond to this post with tuning tips for Hyper-V, and I'll be grateful for them. However, the simple truth will remain that, in DeepStorage.net tests of high I/O workloads, vSphere supported more virtual machines per host than Hyper-V.
The multiple workload benchmark is designed to expose how storage systems will perform in real-world virtual server hosting environments. It challenges the storage system to not just deliver a reasonable number of IOPs, but to actually support multiple requests from different virtual servers at the same time.