Application Performance Improvement with DRS


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

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


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

Figure 1. Performance Gains with 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)

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.