VMware

SQL Server Performance on VMware vSphere 4.0 | Main | Using a Private Cloud to Improve Exchange Performance

July 08, 2009

Application Performance Improvement with DRS

Summary

VMware Distributed Resource Scheduler (DRS), a unique feature of VMware vSphere 4, dynamically allocates and balances computing resources in a cluster of vSphere hosts. DRS continuously monitors utilization across resource pools and intelligently allocates available resources among virtual machines based on policies specified by administrators.  DRS provides not only most efficient resource management but can also provide significant VM performance gains. In the experiments conducted at EMC labs, we observed VM performance improvements as high as 47% with DRS when running virtualized SQL databases on a cluster of vSphere hosts.


Why DRS?

VMware vSphere provides a virtual platform to consolidate many servers onto fewer physical hosts. However, in such consolidation scenarios, unexpected spikes in the resource demands of the VMs can cause the total resource requirements to exceed the available resources on their host. A manual approach to mitigate this problem is to estimate the individual as well as aggregate resource demands upfront and place the VMs intelligently on the hosts based on the estimation.

But, even if the hosts are balanced initially, there is no guarantee that the resource demands of the VMs will stay constant and system loads on ESX will remain balanced. A change in workload behavior may cause resource demand to change, which can lead to contention among VMs for CPU cycles on some hosts while CPU cycles remain unused on other lightly loaded hosts.

DRS provides an automated mechanism to manage the resource demands. It monitors the resource needs of the VMs at the time of their power on and allocates the resources by placing the VMs on the appropriate hosts in the cluster. If the resource demands change after the initial placement, DRS automatically relocates the VMs to hosts where the resources are readily available. VMs will continue to get the resources their workloads demand and thus deliver the same performance they would have if they were running on dedicated hardware.

Methodology

We created a DRS cluster consisting of 4 ESX hosts. All hosts were identical in hardware configuration (refer to "Configuration Details" for more information). On each host we created 4 VMs, and in each VM we installed SQL Server 2005 and DVD Store version 2.0 (DS2) database.

We created 2 DS2 workload profiles:

  • Heavy: This profile drove vCPU utilization in a VM to 70%
  • Light: This profile drove vCPU utilization in a VM to 10%

We randomly assigned these profiles to the VMs as shown in Table 1.Though the number of VMs was the same on all hosts, differences in the application load led to CPU resource contention in some hosts and unused CPU resources on the remaining hosts.

Table. 1 VM Workload Profiles

Host 1
Host 2
Host 3
Host 4
4H
4H 4L
4L
4H 3H / 1L 1H / 3L
4L
4H 2H / 2L
2H / 2L 4L
4H 2H / 2L 1H / 3L 1H / 3L
3H / 1L
3H / 1L 2H / 2L 4L
3H / 1L 3H / 1L 1H / 3L 1H / 3L
3H / 1L 2H / 2L 2H / 2L 1H / 3L

H – VM with 70% CPU utilization; L – VM with 10% CPU utilization

For each test case in Table 1, we ran a DS2 workload simultaneously in all VMs with DRS disabled. We collected the application throughput (Orders per Minute or OPM) in all the VMs

We repeated the experiments after enabling DRS. During each test case, DRS migrated a few VMs based on the resource demands across the hosts. The final balanced configuration achieved in each case was same and is given in Table 2. We measured the aggregate throughput from all the VMs in this balanced configuration.

Table 2. Balanced DRS cluster

Host 1
Host 2
Host 3
Host 4
2H / 2L
2H / 2L 2H / 2L 2H / 2L


Key Findings

Figure. 1 compares the aggregate throughput of all heavily loaded VMs in each of our test case (Table 1) with and without DRS. We have not shown the performance of lightly loaded VMs as there was no change in their performance.

Figure 1. Performance Gains with DRS

DRS
With DRS we observed:

  • 15 ~ 47% gains in aggregate performance for the cases tested.
  • That the higher the resource demand and imbalance in the cluster, the higher the performance gain.
  • No performance impact when the cluster was already balanced

This testing was the result of a joint effort between VMware and EMC. We would like to thank the Midrange Partner Solutions Engineering team at EMC, Santa Clara for providing access to the hardware, for the use of their lab, and for their joint collaboration throughout this project.

Configuration Details

ESX Hosts (4)
HP DL380
4 Dual socket, Quad core Intel Xeon 5450 3.0GHz
32GB of Memory
Dual port QLogic QLE2462 HBA

VC Server (1)
HP DL380
4 Dual socket, Quad core Intel Xeon 5450 3.0GHz
8GB of Memory

Load Generators (4)
Dual socket, Dual core server
8GB of Memory

Storage (1)
CX 4-960 with 188 15K rpm FC disks

Virtual Platform:
VMware vSphere

Virtual Machines (16)
4 virtual CPUs
5GB memory
Windows Server 2003 x64 with SP2
SQL Server 2005 x64 with SP2
DVD Store version 2 (Large sized database)
http://www.delltechcenter.com/page/DVD+Store

Tuning
DRS aggressiveness threshold: 5 (most aggressive)

For more comments or questions, please join us in the VMware Performance Community website.

About the Authors:
Chethan Kumar is a member of Performance Engineering team at VMware. Radhakrishnan Manga is a member of Midrange Partner Solutions Engineering team at EMC.

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d8341c328153ef0115709cad71970b

Listed below are links to weblogs that reference Application Performance Improvement with DRS:

Comments

The comments to this entry are closed.

About this Blog

The VROOM! Blog from VMware's Performance Engineering Team.

Subscribe via RSS  

VMware Performance & VMmark Community


Discussions and resources for performance and VMmark.

Visit Now

Twitter


Facebook

YouTube


    VMware Blogs