Actually, I m facing the problem with Virtual Machines performance. When look at the vCenter performance graphs I see the vCPU ready values are high on the VMs. But what I am unable to understand is the VM is running with 2 vCPU only and all the ESXI 5.5 hosts CPU in my cluster are less than 50% utilized. Any thoughts would be of great help. Also, I must say the VM in question is utilizing the 2 vCPU- as I can see in the vCenter performance graph.
Many thanks in advance.
Welcome to our community,
It seems that your VMs are CPU-Constraints and the VM may be have an issue in using resources and that can be examined from Guest-OS tools
Or may be the vm is limited in the amount of resources given from the host.
I found for you good article about CPU ready http://www.opvizor.com/blog/the-good-the-bad-and-the-ugly-about-vm-cpu-ready/
Many thanks for your reply.
Actually, my VM has no limits and reservations set. Is this something related to the physical CPU to vCPU assignment in the ESXi host cluster. why I am saying this is because I am running almost with the 3:1 ratio in a cluster i.e 3 vCPU per processor. But would also like to highlight that all my ESXi hosts CPU performance graph(from DRS cluster resource's view) shows around 50% utilization.
Did you check the performance inside the Guest OS. Use Task Manager & Perfmon to inspect it.
Also you must be sure that the application reside inside the VM is hyper-threaded ready. That's because if the application is not hyper-threaded it must work only with single vCPU
Looking at the utilization for the CPU is not actually that helpful. You could have a ton of slightly busy VMs which show the host as under utilized however if you are overcommitting the pCores especially with guest with multiple vCPUs then your ready time will climb.
First thing to note is that you will almost always see some ready time so what is important is the % of it. Looking at the real-time performance charts within vCenter it is worth noting that the Ready time counter is a summation over 20 secs. This means you would need to see a Ready time reading of 2000ms to be at the magic 10% threshold for worrying. Now these numbers are for single vCPU machines - if you have multi vCPU then you need to look at the individual vCPU numbers as the sum could be much larger.
Second thing is if you are seeing above the magic 10% per vCPU then I would look at the Co-stop counter in the performance charts (or %CSTP within ESXTOP). This will give you an indication if the VM's are actually hurting themselves by being multiprocessor.
Does this help?
Perhaps to help further if you could give the specs for your hosts especially the socket and core count excluding HT. Also consider showing the makeup of your virtual machines, i.e. number of vCPUs each.