Metron vSphere vs. Hyper-V Performance Showdown Objectives • Architecture • Available metrics • Challenges in virtual environments • Test environment and methods • Results, conclusions, and caveats vSphere Architecture Small hypervisor footprint Hyper-V Architecture Windows OS required - Larger footprint vSphere Memory Management Features Transparent page sharing Memory borrowing Memory compression …and Paging Hyper-V Memory Management Feature Dynamic memory for enlightened Windows VMs Key Performance Metrics vSphere Hyper-V CPU Avg. CPU Usage in MHz CPU Ready Time CPU Hypervisor Logical Processor % Hypervisor Virtual Processor % Memory Avg. Memory Usage in KB Balloon KB Swap Used KB Consumed Active Memory Dynamic Memory Balancer Dynamic Memory Pressure VM Vid Partition I/O Queue Latency Kernel Latency Device Latency I/O Virtual Storage Device Virtual Network Adapter Challenges in Virtual Environments - Clock skew - NUMA (non-uniform memory access) scheduling - Pass-through I/O - Workload definition - 32 versus 64 bit OS and applications - Where to use solid state I/O devices - Storage tiers - Hidden overhead - etc... Test Environment - AMD Phenom II 3.3 GHz 8 GB RAM 1TB Hitachi 7200 RPM HD SATA 2 interface 1GB Onboard network interface - vSphere 5 - Hyper-V role installed on Windows 2008 R2 SP1 - 2 x Windows 7 SP1 VM with integration services - 2 x CentOS 6.2 VM with integration services v3.2 - Simple custom benchmarks using ActiveState perl v5.14 - cpu.pl, disk.pl, mem.pl, net.pl Testing Methods Individual Tests Hyper-V Hostname Hyper30 Virtual Machines win_25, win_26 centos_11, centos_12 Win7 VMs configured with 512MB min, 64GB max dynamic memory. Centos VMs 2GB. VMs _25, _12 configured with 2 vCPU vSphere Hostname 192.168.0.99 * No Pass-Through - CPU w/1 process - CPU w/2 process - Disk on 1vCPU VMs - Mem on 1vCPU VMs - Net on 1vCPU VMs Combined Tests All VMs running CPU and Mem. 2 vCPU VMs running Disk and Net. Each set of testing was run identically on the same host using both hypervisors Results - Individual VM CPU Surprisingly Win7 on Hyper-V appears slower Results - Individual VM CPU Extra vCPU no help with one process Results - Individual VM CPU Twice the work in the same time Results - Individual VM CPU Summary of CPU results - Windows CPU performance on Hyper-V was significantly slower - Two vCPUs running a single process had little negative impact Results - Individual VM Disk Write a 512 MB file Results - Individual VM Disk Read the 512 MB file Results - Individual VM Disk Abysmal performance for Windows on Hyper-V Results - Individual VM Disk Summary of disk I/O results - Random I/O on a Hyper-V dynamic disk had terrible performance Results - Individual VM Memory No penalty for dynamic memory Results - Individual VM Network Slight advantage for vSphere Results - Combined Test And now… for the grand finale All workloads running at the same time on multiple VMs The winner is…. Results - Combined Test Draw - except disk workload on Hyper-V did not finish CPU Details - Both platforms on the same chart Detail CPU Metrics - vSphere VM ready time - Hyper-V Guest run time CPU Details - vSphere CPU Ready Time CPU Details - Hyper-V Guest Run Time Detail Memory Metrics - vSphere memory consumed by VMs - vSphere memory ballooning - vSphere paging - Hyper-V memory balancer average pressure - Hyper-V memory current pressure - Hyper-V physical page allocation Memory Details - vSphere Ballooning Memory Details - vSphere Paging Memory Details - vSphere Consumed Memory Details - Hyper-V Memory Balancer Pressure Memory Details - Hyper-V Memory Current Pressure Memory Details - Hyper-V Pages Allocated Detail I/O Metrics - vSphere queue latency - vSphere device latency - Hyper-V disk throughput I/O Details - vSphere Queue Latency I/O Details - vSphere Device Latency I/O Details - Hyper-V Disk Throughput Interesting Observations - Hyper-V dynamic memory - Hyper-V dynamic disk device performance Dynamic Memory in action - High Pressure Dynamic Memory in action - Low Pressure Hyper-V - Random I/O on Dynamic Disks Chart from Hyper-V MSDN Blog by: Tony Voellm Conclusions, Caveats, and Final Thoughts Overall the combined results were surprising close Individual tests produced some interesting findings - Windows CPU performance on Hyper-V was significantly slower - Two vCPUs running a single process had little negative impact - Random I/O on a Hyper-V dynamic disk had terrible performance - Hyper-V dynamic memory worked great with no performance penalty Caveats - Workloads were very general and dependent on perl implementation - Many more variables could be taken into account - Result may be different on other hardware Running benchmarks in your own environment should be done to help make the best informed decisions. Thank you for attending vSphere vs. Hyper-V Charles Johnson Metron-Athene Inc. Charles@metron-athene.com