Uncategorized

SQL Server Performance on VMware vSphere 4.0

    VMware recently published a whitepaper titled “Performance and Scalability of Microsoft SQL Server on VMware vSphere 4“ that demonstrates VMware vSphere 4.0 can virtualize large SQL Server deployments with excellent performance and scalability. The paper documents results for a resource intensive OLTP workload running against a SQL Server 2008 database on the Windows Server 2008 operating platform and highlights single-VM as well as multi-VM performance.

  • In an 8vCPU virtual machine, we achieve OLTP throughput that is 86% of physical machine performance 
  • In consolidation experiments with multiple 2-vCPU virtual machines, aggregate throughput scales linearly until physical CPUs are saturated 

Single-VM Performance Relative to Native 

    The table below summarizes the performance relative to the physical machine as we scale-up the vCPUs in a VM running our workload.

Number of Virtual CPUs

Ratio to Native

1

92%

2

92%

4

88%

8

86%

 
    At 1,2 and 4vCPUs on the 8pCPU server, ESX is able to effectively offload certain tasks such as I/O processing to idle cores.
Even at 8vCPUS on a fully committed system, vSphere 4.0 still delivers excellent performance .

    The following table summarizes the resource intensive nature of the workload used for the tests.

Metric

Physical Machine

Virtual Machine

Throughput in transactions per second

3557

3060

Disk I/O throughput (IOPS)

29 K

25.5 K

Disk I/O latencies

9 milliseconds

8 milliseconds

Network bandwidth receive

Network bandwidth send

11.8 Mb/s

123 Mb/s

10 Mb/s

105 Mb/s send

Multi-VM Performance and Scalability

    Multiple SQL server VMs running a resource intensive OLTP workload can be consolidated to achieve excellent aggregate throughput with minimal performance impact to individual VMs. In the figure below, we plot the total throughput as we add eight 2-vCPU SQL Server VMs onto an 8-way host.

Scaleout_graph4

    The cumulative throughput increases linearly as we add up to four virtual machines (eight vCPUs). As we over-commit the physical CPUs by increasing the number of VMs from four to six (factor of 1.5), the aggregate throughput increases by a factor of 1.4 Adding eight VMs to this saturates the physical CPUs on this host, yet ESX is able to utilize the few idle cycles to deliver 5% more throughput.

    The data clearly shows that performance is not a barrier for configuring large multi-CPU SQL Server instances in virtual machines or consolidating multiple virtual machines on a single host to achieve impressive aggregate throughput on vSphere 4. 

For more details regarding these tests, we refer you to the paper at Performance and Scalability of Microsoft SQL Server on VMware vSphere 4