VMware Cloud Community
TheVMinator
Expert
Expert
Jump to solution

Managing vCPUs in vSphere

I'd like to know the best way to determine what my ratio of virtual CPUs to logical processor cores should be.  What are your recommendations or experiences?  I don't want to end up with more virtual CPUs than can be scheduled among my available logical processors on the physical server.  I don't want to have underutilized resources either.   I'd like to get both some hard and fast numbers (4/1, etc) and some input and discussion and background of all the issues to consider when planning for capacity in this area.  Percent processor utilization and memory utilization are underutilzied in this case but virtual machine VCPU to logical core ratio is approaching capacity.

Example - I have 200 vms on each ESX(i) host, each having the number of vCPUs that is right for the application demand on them (I only use more than 1 vCPU when the application(s) are written to utilize it and show they need it).  Lets say that for all of these VMs I have a total of 300 vCPUs total for the 200vms.  How many logical cores should be present on that ESX(i) host to allow the 300 vCPUs to be scheduled without excessive ready time? 

Thanks for your input

0 Kudos
1 Solution

Accepted Solutions
ProPenguin
Hot Shot
Hot Shot
Jump to solution

I have the same problem with memory.  I think one thing to think about is for processing it is not always about the average load either but about the peaks.  While you may be able to get 10 vCPUs per core based on an average calculation, if those servers utilizing those vCPUs hammer their vCPUs and you have over allocated there could be some drag.  That is just something to think about, but like it has been stated its subjective to your servers and their need for resources.  One thing I have seem to gather from virtualization is everyones numbers and statistics vary, so what happens is you just end up creating your own.  Not really helpful but no setup is the same.  Hope some part of this helps.

View solution in original post

0 Kudos
4 Replies
kjb007
Immortal
Immortal
Jump to solution

Wow, that's a lot of eggs in one basket.

Any answer about numbers will be fairly subjective, as the true answer for you should be based on performance.  For planning purposes, I like to stay within 4-8 vCPU per core, but that number is flexible if your performance numbers state low ready times, and the vm's overall are behaving properly.  But that number is for the older systems, the newer processor architectures allow for greater virtualization capacity than was previously possible, so your mileage may var.

-KjB

vExpert/VCP/VCAP vmwise.com / @vmwise -KjB
mittim12
Immortal
Immortal
Jump to solution

I agree with KJB about answers being subjective.   I like to start under what the supported ratio is and then work my way up.   This gives me the ability to judge performance and monitor statistics to make sure everyone is getting the resources they need.   Then again I always run out of memory way before I run out of CPU. 

ProPenguin
Hot Shot
Hot Shot
Jump to solution

I have the same problem with memory.  I think one thing to think about is for processing it is not always about the average load either but about the peaks.  While you may be able to get 10 vCPUs per core based on an average calculation, if those servers utilizing those vCPUs hammer their vCPUs and you have over allocated there could be some drag.  That is just something to think about, but like it has been stated its subjective to your servers and their need for resources.  One thing I have seem to gather from virtualization is everyones numbers and statistics vary, so what happens is you just end up creating your own.  Not really helpful but no setup is the same.  Hope some part of this helps.

0 Kudos
TheVMinator
Expert
Expert
Jump to solution

Ok thanks.

0 Kudos