Rightsizing is an important operational process that does affect performance. VMware recognizes this and recommends the use of vCenter Operations to assist in identifying under/oversized workloads within your infrastructures. The value of rightsizing helps to ensure maximum performance of your workloads and the efficient use of your underlying hardware. It is very easy today to add resources to a virtual machine when required so we need to get away from our habit of over provisioning.
Many often wonder if there is overhead when creating a large virtual machine with many vCPUs that may or may not be used. Is there waste in doing that? Why not make all my virtual machines excessive and let the vSphere scheduler sort it out?
Well the simple answer is that - yes - if you build an inefficient virtual machine with too many vCPUs that will not be used, there is waste. If the workload is rightsized though, you will still maintain a high level of efficiency.
Let's take a look at the data:
Here we did a simple lab test using a single threaded CPU intensive process as the fixed workload. The benchmark was then run using multiple virtual machines with different vCPU configurations. Each VM was only running a single thread of the CPU intensive process, but additional vCPU's were assigned to the virtual machine and left idle, simulating an oversizing of the virtual machine.
The resulting data demonstrates that 'CPU Efficiency' decreases as the virtual machines were assigned additional idle vCPUs. This highlights that fact that there is some small amount of waste but that it doesn't become visible until very large virtual machine configurations are under-utilized.
Next, we repeated the same benchmark but this time ensured that each additional vCPU that was assigned to the virtual machine was also running the CPU intensive process. This simulated a rightsized virtual machine that was using all vCPU's.
The resulting data demonstrates that 'CPU Efficiency' was constant as the virtual machines were scaled up. This highlights that fact that there is no measurable waste when virtual machines are in fact using all of their assigned vCPUs.
Special thanks to my teammate Joey Dieckhans for this data. Please note this experiment was meant to solely demonstrate scheduler efficiency with a purely CPU intensive workload. When you start to consider the additional impact of storage, memory or network it becomes more important to rightsize to maintain efficiency and reduce waste.
The takeaway here is that we should strive to rightsize our workloads and grow them as required. Tools like vCenter Operations help automate this process by monitoring the environment and providing sizing recommendations in easy to consume reports. This ensures you can get maximum value from your hardware investment and provide excellent services levels to your customers.