Technical information
Performance Best Practices for VMware vSphere 4.0
38 VMware, Inc.
VMware Distributed Resource Scheduler (DRS) Best Practices
Clustering configurations can have a significant impact on performance. This section lists Distributed
Resource Scheduler (DRS) practices and configurations recommended by VMware for optimal performance.
When deciding which hosts to group into DRS clusters, try to choose hosts that are as homogeneous as
possible in terms of CPU and memory. This ensures higher performance predictability and stability.
VMware VMotion is not supported across hosts with incompatible CPU's. Hence with ‘incompatible
CPU’ heterogeneous systems, the opportunities DRS has to improve the load balance across the cluster
are limited.
To ensure CPU compatibility make sure systems are configured with the same CPU vendor, with similar
CPU families, and with matching SSE instruction-set capability. For more information on this topic see
KB articles 1991, 1992, and 1993, listed in “Related Publications” on page 8.
You can also use Enhanced VMotion Compatibility (EVC) to facilitate VMotion between different CPU
generations. For more information on this topic see VMware VMotion and CPU Compatibility, listed in
“Related Publications” on page 8.
When heterogeneous systems have compatible CPUs, but have different CPU frequencies and/or
amounts of memory, DRS generally prefers to locate virtual machines on the systems with more memory
and higher CPU frequencies (all other things being equal) since those systems have more capacity to
accommodate peak load.
The more VMotion compatible ESX hosts DRS has available, the more choices it has to better balance the
DRS cluster. Besides CPU incompatibility, there are other misconfigurations that can block VMotion
between two or more hosts. For example, if the hosts' VMotion network adapters are not connected by a
Gigabit Ethernet link then the VMotion might not occur between the hosts. Other configuration settings
to check for are virtual hardware version compatibility, misconfiguration of the VMotion gateway,
incompatible security policies between the source and destination host VMotion network adapter, and
virtual machine network availability on the destination host. Refer to the Resource Management Guide and
the Server Configuration Guide for further details.
Don’t configure more hosts in a DRS cluster than the maximum allowed in the Configuration Maximums
for VMware vSphere 4, listed in “Related Publications” on page 8.
Virtual machines with smaller memory sizes and/or fewer vCPUs provide more opportunities for DRS to
migrate them in order to improve balance across the cluster. Virtual machines with larger memory size
and/or more vCPUs add more constraints in migrating the virtual machines. This is one more reason to
configure virtual machines with only as many vCPUs and only as much virtual memory as they need.
Have virtual machines in DRS automatic mode when possible, as they are considered for cluster load
balance migrations across the ESX hosts before the virtual machines that are not in automatic mode.
All powered-on virtual machines consume CPU resources. Thus even idle virtual machines, though their
CPU utilization is usually small, can affect DRS decisions. For this and other reasons, a marginal
performance increase might be obtained by shutting down (or suspending) virtual machines that are not
being used.
The migration threshold should be set to more aggressive levels when the following conditions are
satisfied:
If the hosts in the cluster are relatively homogeneous
If the virtual machines' resource utilization does not vary too much over time and you have relatively
few constraints on where a virtual machine can be placed
The migration threshold should be set to more conservative levels in the converse situations.
The frequency with which the DRS algorithm is invoked for balancing can be controlled through the vpxd
configuration file, vpxd.cfg, with the following option:
<config>
<drm>
<pollPeriodSec>