Recently both Microsoft and VMware released their papers about running SQL Server in a virtual machine for Online Transaction Processing (OLTP) workloads:
- Running SQL Server 2008 in a Hyper-V Environment – Best Practices and Performance Considerations
Microsoft – 37 pages
- Benchmarking Microsoft SQL Server Using VMware ESX Server 3.5
VMware – 16 pages
Microsoft, that is supposed to know its own product better than anybody else concludes:
From a performance perspective, Hyper-V is a viable option for SQL Server consolidation scenarios. The overall performance of SQL Server running in a Hyper-V virtualized environment is reasonable compared with the equivalent native Windows Server 2008 environment.
With proper I/O capacity and configuration, the I/O overhead is minimal. For best performance, you should have enough physical processors to support number of virtual processors configured on the server to avoid overcommit CPU resources. The CPU overhead increases significantly when the CPU resources are overcommitted. It is important to test each application thoroughly before you deploy it to a Hyper-V environment in production.
Unfortunately who authored the VMware paper took great care in hiding the version of SQL Server used for the benchmarks.
Nonetheless the two papers are greatly interesting for a (probably unfair) comparison.
Readers may also want to look at older benchmarks measuring SQL Server 2005 performance in VMware environments: