Performance Tuning for Windows Guest OS
IT Pro Camp
Presented by:
Matthew Mitchell
Confidential
© 2010 VMware Inc. All rights reserved
Agenda
 Introduction
 Understanding VMware Performance
 Best Practices of HA and DRS with Windows Guests
 Virtual Machine Build out
 Windows Guest OS Tuning (DEMO)
 Monitoring with vCenter Operations Manager (DEMO)
2
Confidential
Introduction
3
Confidential
Understanding VMware Performance
4
Confidential
Maximum Scalability and Performance with VMware vSphere® 5
% of Applications
Application’s Performance Requirements
5
CPU
95% of Apps
Require
ESX 1
ESX 2
VMware
Infrastructure
3.0/3.5
VMware
vSphere 4
VMware
vSphere 5.5
1 to 2 CPUs
1 vCPUs
2 vCPUs
4 vCPUs
8 vCPUs
64 vCPUs
2GB per VM
3.6GB per VM
16/64GB per VM
256GB per VM
1,000GB per VM
Memory < 4GB at peak
Network
<2.4Mb/s
<.5Gb/s
.9Gb/s
9Gb/s
30Gb/s
>36Gb/s
IOPS
< 10,000
<5,000
7,000
100,000
300,000
1,000,000
Confidential
Oracle DB Example
VM
VM
VM
VM
32 vCPU
1TB
1,000,000 IOPS
36Gb/s
Oracle DB
2–4 CPU
Oracle DB
4% utilized
4–8GB
Oracle DB
50% utilized
1200 IOPS
CPU
Memory
Disk IO
Source: VMware Capacity Planner™ analysis of > 700,000
servers in customer production environments
6
Confidential
Oracle DB
2 MB/S
Network IO
Best Practices
7
Confidential
Best Practices
 Use jumbo frames if possible
• Using default settings all vMotions succeeded, however some database
failover was observed. By enabling jumbo frames on vmkernel ports vMotions
completed with no database failover using default cluster settings, if jumbo
frames are not possible consider adjusting the cluster heartbeat interval.
 Increase Cluster Heartbeat Interval
• Windows Failover Clustering default heartbeat interval is 1000 ms, consider
increasing to 2000 ms to avoid cluster failover due to application stun during
vMotion
 Dedicated vMotion Interface
• Avoid traversing multiple networking devices and sharing bandwidth with
management traffic by dedicating an interface for use by vMotion traffic, place
other interfaces as stand-by to provide redundancy
 Use DRS Rules
• Create VM to Host “should run on” rules to keep virtual machines on preferred
hosts, but allow to run on non-preferred hosts if required
• Create anti-affinity rules to keep clustered virtual machines on separate hosts
8
Confidential
Troubleshooting Steps
9
Confidential
Virtual Machine Build
10
Confidential
VMware ESX/ESXi Architecture
11
Confidential
Virtual Machine Monitoring
12
Confidential
Virtual Machine Build
 vCPU
• CPU Sockets vs. CPU Cores
• Lower overhead with more vSockets than vCores per Socket
• Only use vCores when Windows Licensing does not allow for multi-Socket
 Memory
• Start small base memory needs on the OS and Application
• If SSD LUN is available create Virtual Disk for the Windows Swap file there.
 Video
• For VDI or Terminal Services you can use the custom settings or if Hardware
version 9 you can enable 3D support
• If 3D Support is enabled without Graphic Accelerators Present you will
increase ESXi CPU load
13
Confidential
Virtual Machine Build
 SCSI Controllers
• There are 4 types of SCSI controllers:
• BusLogic Parallel –This is used mostly for Physical to Virtual Migrations.. If you have
this controller it is best to install the latest vmware tools then change to the LSI Logic
SAS controller. Also this is the default for Windows 2000 Server
• LSI Logic Parallel – This is the standard boot controller for Windows 2003, Vista, and
Linux VMs
• LSI Logic SAS – This is the Default for Windows 2012, Windows 2008, and Windows
7
• VMware Paravirtual – High Performance, High I/O (2000 IOPs and greater) with
Lower CPU cost. This is your Tier 1 Controller for Tier 1 Apps running on Win2K3,
Win2K8 and 2012 as well as RHEL 5.
14
Confidential
Virtual Machine Build
 Network Adapters
• Flexible NIC – This NIC is a P2V Migrated virtual machine configuration. Will
cause high CPU overhead.
• E1000 NIC – This is the NIC for older Operating Systems and increases the
CPU Load on a Host
• E1000E NIC – This is the Default NIC for Most Windows Based systems for
Win2K8, Windows 7, and Windows 2012. Also increase CPU load on the Host
• VMXNET 3 – This is you High Performance NIC there is CPU offload to the
Physical NICs as well.. Only issue is the Operating System will not recognize
this NIC until Vmware Tools are Loaded.
 Floppy Drives
• These are created by default if you do not have a need for these remove for
better performance of the virtual machine
 USB Controller
• Only install or enable if required for 3rd party applications that have a Dongle
Key.. Otherwise leave out
15
Confidential
Virtual Machine Build
 Virtual Machine Options
• Memory/CPU Hotplug – Windows 2008 and Windows 2012 operating
Systems allow for this Feature
 SwapFile Location
• This is normally set to Default which stores the Swap File with the virtual
machine.. This makes for a Faster vMotion ability.. If SATA LUNs are
presented it is recommended that Swap Files are located there and Monitored
closely..
16
Confidential
Non Uniform Memory Access (NUMA) Best Practices
17
Server
Node Size
4 Socket / 4 Core
with 64 GB RAM
4 vCPUs with 8
GB RAM
4
2 Socket / 6 Core
with 64 GB RAM
6 vCPUs with 32
GB RAM
2
4 Socket / 2 Core 2 vCPUs with 64
with 128 GB RAM GB RAM
4
Confidential
Number of Nodes