I have noticed a lot of search results hitting my blog asking
Question: How much CPU ready is OK?
so I thought I would address this question with a quick post.
Of course the answer is it depends, for example Server workloads have a lower tolerance to CPU ready than desktop workloads but as a rule of thumb, here is my thoughts.
For Production server workloads
<2.5% CPU Ready
Generally No Problem!
2.5%-5% CPU Ready
Minimal contention that should be monitored during peak times
5%-10% CPU Ready
Significant Contention that should be investigated & addressed
>10% CPU Ready
Serious Contention to be investigated & addressed ASAP!
In my experience, the above have been good for a rule of thumb.
However, applications which are latency sensitive may be severely impacted even with low levels of CPU ready, these types of VMs should be on clusters with lower CPU overcommitment, leverage DRS rules to separate the contending workloads or in extreme cases, dedicated clusters.
On the flip side, Some servers are much more tolerant to CPU ready, and 5%-10% CPU ready or higher may not noticeably impact performance.
Keep in mind that setting CPU Reservations does not solve CPU Ready, see my post on the topic for more details.
VMware vCenter Operations is a tool which can help easily identify contention (including CPU) within your vSphere environment.
For Virtual Desktop workloads, what level of CPU ready is acceptable will largely depend on the individual user (ie: Power User verses Task Worker). Keep in mind virtual desktop deployments generally have high CPU consolidation ratios of around 6:1 all the way to >12:1.
I would suggest the following , again as a rule of thumb
<5% CPU Ready
Generally No Problem!
5%-10% CPU Ready
Minimal contention that should be monitored during peak times
>10% CPU Ready
Contention to be investigated & addressed where the end user experience is being impacted.
Any Higher CPU ready will likely be impacting your users, and should be investigated.
VMware have recently released vCenter Operations for View, which you could use to monitor your VMware View environment.