Sergey Galushko - Fotolia
Virtual machine performance depends on proper provisioning – ensuring that the VM receives an adequate amount of clock cycles, memory space and I/O bandwidth. When a VM encounters resource shortages due to provisioning errors or increased computing demands, VM performance may suffer and its stability may be compromised. Many IT administrators overprovision computing resources to ensure that VMs are not starved for resources during times of peak activity. Although overprovisioning usually isn’t harmful, it is wasteful. However, there are circumstances in which overprovisioning virtual CPUs (vCPUs) can adversely impact a VM’s performance.
The goal with all resource provisioning is to allocate enough computing resources to operate the VM workload properly, but not overprovision those resources. Overprovisioned resources are wasted. And in the case of processors, overprovisioning can actually impair the VM’s performance.
The problem is in scheduling. A hypervisor must schedule time on a vCPU for the VM. As long as all of the VM’s time is slated for the same vCPU, there is no real conflict. But when a VM uses multiple vCPUs that cross two or more cores, the hypervisor must now schedule time on two or more physical processors. This means the hypervisor (and the VM it’s scheduling) must wait for time on different physical processor cores.
Now, this is just fine if the VM is designed for symmetric multi-processing (SMP), and hypervisor vendors like VMware provide an SMP add-on that allow SMP workloads to schedule and use multiple vCPUs (multiple cores) successfully and efficiently.
But for common single-threaded workloads that are not explicitly designed for SMP behavior, the hypervisor can wind up wasting time holding up VM execution waiting for time on multiple vCPUs. This will actually slow down the VM’s performance. In these situations, reducing the processing to just one vCPU can actually improve the workload’s performance. Administrators must be adept at allocating vCPUs to workloads and identifying improperly-allocated vCPU resources.
How to find the best VM to processor core ratio
Reduce CPU ready time to improve performance
Is vSphere Fault Tolerance for multiple CPUs worth the wait?
Dig Deeper on Server hardware and virtualization
Related Q&A from Stephen J. Bigelow
Containers have rapidly come into focus as a popular option for deploying applications, but they have limitations and are fundamentally different ... Continue Reading
ALM and SDLC both cover much of the same ground, such as development, testing and deployment. Where these lifecycle concepts differ is the scope of ... Continue Reading
Eliciting performance requirements from business end users necessitates a clearly defined scope and the right set of questions. Expert Mary Gorman ... Continue Reading