By ODM performance architects: Pierre-Andre Paumelle and Nicolas Peulvast
ESX server is an enterprise-class hypervisor developed by VMware for deploying and serving virtual computers. With ESX, a single physical server can run several virtual machines simultaneously. If you are using ESX to streamline your ODM server hardware or to deploy new servers and maintain existing in-use servers then these performance tips can help you to optimize its performance.
The performance of ODM servers on ESX relies heavily on CPU. If there is an issue with the CPU, ODM cannot operate efficiently. For best results, the CPU Ready Time should be less than 2%. Use the following tips to tune ESX to keep to a minumum the amount of time a virtual machine is ready to use CPU but is unable to schedule time because all CPU resources are busy.
Do not allocate too many vCPUs on one machine. The effect of too many virtual CPUs is seen on the host machine and also on all of the other machines on the same hypervisor. For more information, see
Deactivate non mandatory processes like indexing of disks or activation of the screen saver. The scheduling of anti-virus is also a common task that can disrupt CPU utilization, therefore deactivate the anti-virus scans on the database files. Follow the VMWare best practices on anti-virus.
Install the VMware “Paravirtual” drivers in the VMs. The Paravirtual SCSI controller and the network VMXNET3 consume much less CPU and use less network bandwidth.
Install VmwareTools and keep them up-to-date.
Configure the mode “Full Performance” on the hypervisors in the BIOS and the mode “High performance” in the “Power Management Settings” on the ESX.
Pre-allocate the VMs disks. The start is slower, but the I/O performance of the servers is much better.
Group the machines that need to communicate a lot with each other on the same hypervisor. Use an affinity rule to specify which members of a selected virtual machine DRS group can or must run on the members of a specific host DRS group.
If possible group the VM with the same number of vCPUs on the same hypervisors. Smaller VMs always have a higher priority when the ESX has a contention at the CPU level.
Take note of the vCPU to pCPU ratio i.e. relation between the physical capacity and virtual capacity for processing. It’s key to not over-provision virtual CPUs, so it is better to start with a single vCPU and scale out as and when is necessary. A hypervisor should not have a vCPU to pCPU ratio of more than 2 for production machines (1 for critical machines and never more than 3).
To calculate the vCPU to pCPU ratio, you compute the total number of vCPU allocated on the machines of the hypervisor divided by the number of physical cores.
Access to the datastores should use several fiber links and several fiber routers. Use SSD for caching to boost storage performance (in hybrid mode). Enable a SSD cache to increase the performance of random access to a small portion of data that is frequently accessed in the storage space.