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
Blade servers come in a variety of configurations. In order to effectively manage your data center, you'll want to consider your storage needs, blade... Continue Reading
When properly implemented -- and understood -- a cloud migration factory combines the right mix of people, processes and tools to smoothly transition... Continue Reading
Scaling up or scaling out is not a decision to be made lightly. Use monitoring data to determine the strategy that fits your use case and to inform ... Continue Reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.