How to Performance Tune vSphere

By CIOReview | Thursday, August 4, 2016

The x86 platform has witnessed server virtualization for about a decade but still many organizations are considering it as a latest technology. Server virtualization empowers industries with utmost efficiency and capabilities that are not accessible when constrained within the physical world. vSphere is one such VMware’s server virtualization platform that affirms the installation and management of Virtual Machine (VM) infrastructure.

vSphere is also called as cloud operating system as it allows IT department to expeditiously deploy application workloads onto the virtualized data centre platform. The VMware vSphere consists of VMware ESX/ESXi hypervisor that functions as the virtualization server and is managed by VMware vCentre Server.  When health checks of this virtual server are conducted the results of the test uncover accidental CPU and RAM limits on VMs. This limitation affects the performance of vSphere, increasing the occurrence of negative consequences. VM transformed the RAM limit of a template equal to that of the configured RAM because of which every deployed template has its RAM limit same as the old one, making VM RAM-constrained. To counter this limit open the command line, open PowerCLI and use the ‘Get-VMResourceConfiguration’ commandlet. If ‘CpuLimitMhz’ and ‘MemLimitGB’ properties are not -1, then VM has resource limits. But a script developer can use the ‘Set-VMResourceConfiguration’ commandlet and remove the limits.

It is often been a laborious work to update the hardware, but it helps as modern hardware are designed to best suite virtualization. And avoid setting affinity rules in vSphere as the virtualization server will itself choose the optimum course for VM assignment. While deploying applications, size it properly within a Non-Uniformity Memory Access (NUMA) node. This can be done with VMware vNUMA that lets guest operating system to see NUMA architecture. vNUMA also helps to boost CPU performance by 5 to 10 percent and sometimes 30 percent depending upon the type of guest operating system. Enterprise IT administrators can also leverage VMXNET3 which is a high-performance virtual Network Interface Card (NIC). It will help to conserve CPU power usage, and reduce network latency where VMs encounter heavy network traffic. It is important to check the latency of the application—latency should be zero.

Also, virtual system managers can improve the performance of vSphere by enabling jumbo frame on an iSCSI (Internet Small Computer System Interface) SAN (Storage Area Network). This increases the MTU (Maximum Transmission Unit) to 9000 bytes. Further another way of increasing the performance is by increasing the number of vCPU on the VMs. vSphere version 5 offers flexibility to specify—number of vCPUs and number of cores on each vCPU. Further, active snapshots of VM are also a great tool which helps to write any changes to a differencing disk or delta file. But taking unnecessary active snapshots on VM slows down the performance of VM by running out of disk.  Lastly, it is very essential to use a dedicated network system for SAN fabric and considering costs and performance it has been seen that 10 Gigabit Ethernet iSCSI works well.

These performance improvement tips are dependent upon the factors of the existing vSphere environment in the organization. In order to improve performance of vSphere, getting just the exact memory configuration on both—ESXi host and VMs plays a vital role which precisely tunes vSphere. Some VMware best practices recommend the deployment of vCentre Server as a VM, and leverage vSphere High Availability (HA) to offer better functionality.