vCPU over-subscription and CPU Ready

When looking into performance on a virtualized workload, one of the most important statistics to watch is CPU Ready Time.

What is CPU Ready Time, you ask?

Well, CPU Ready Time is the amount of time that a vCPU is waiting for a time slot on a physical CPU core.  In other words, if you are seeing a high CPU Ready Time, that means that your host is having a high amount of CPU contention and may be over subscribed.

There is a great VMware KB Article that explains how to calculate CPU Ready % from the CPU Ready summation values that you find on the performance tab in the vClient:

AttachConverting between CPU summation and CPU % ready values

Sizing VM’s appropriately is very important.  Just because you have a physical server that has 8 cores does not necessarily mean that its VM counterpart needs to have as many vCPUs. The best approach is to start small and grow as needed.  A VM that is oversized can actually perform worse than one that is undersized.