VMware Cloud Community
RichardBrown
Contributor
Contributor

Estimating resource

Hi,

Does anyone know of the best formula to follow when sizing a vSphere cluster
with regards to CPU resource. For example in my situation i'm trying to estimate
the resource required to facilitate a new environment based on requirements
that have been requested and are not currently operation. So memory is fine but
CPU is tricky as there is obviously no need to ensure that there are as many
logical cores as there are allocated to VMs because that would defeat the
object of being virtual and the CPU resource scheduler is clever enough to
schedule resources when they are required which begs the question how much do
you estimate over allocation before you risk encountering high %RDY times and
poor performance.

Is there some formula as simple as Net resource - 20% or something similar.

Thanks in advance

Reply
0 Kudos
5 Replies
khaliqamar
Enthusiast
Enthusiast

vmware count it by slot size, you can click on your cluster and then click advanced runtime Info. here you can see the slot size available in your cluster.

you can also find the formula to count your slot size check yellow bricks.com

I always try to keep 20% head room for spike.

some free tools also available from vkernel - check the below link :

VKernel Is Part of Dell | Dell Software

Reply
0 Kudos
RichardBrown
Contributor
Contributor

Thanks VirtualRay,

So a slot is essentially a core and the size is the clock speed of that core, but vSphere allows VM's to over commit based on their rescheduling model so leaving 20% would mean not using all of the available slots and wasting resources. I'm not too concerned about spikes because the speed of the cores should be fine to manage that, but i really would like to know whats the best average of vCPU to Core ratio for best perfomance.

To put my question a slightly different way based on estimating capacity for CPU only

If i have 20 VM's totalling in a requirement of 100 vCPUs where the most vCPUs assigned to a guest is 8 vCPUs and the smallest guest is 2 vCPUs..

How many hosts should be used in a cluster based on..

2 socket server with 8 cores per socket = 16 cores phyical or with HT 32 cores logically.

Many Thanks

Reply
0 Kudos
tomtom901
Commander
Commander

A slot in HA (Used with host failures the cluster tolerates) is a logical representation of a unit of CPU and memory in the cluster. Every (powered on) VM in the cluster gets a number of slots, to ensure that enough failover resources are available in the event of a host faillure. All this is ofcourse with admission control enabled.

The sizing of CPU is a rather difficult one, but in general, don't overprovision your CPU's too much and keep checking for RDY times in the vSphere client or via esxtop. Why does the smallest guest always have 2 CPU's. Check if those numbers can be scaled down. Too much overprovisioning of the CPU can literally kill your performance.

My personal opinion is that you can count HT as half cores, so, if you assume that 2 socket servers with 8 cores per socket and HT give you around 24 cores, you need at least 4 to handle the workload, but I would definitely look into downscaling those VM's, unless they really need the resources.

Reply
0 Kudos
khaliqamar
Enthusiast
Enthusiast

If a host has two eight core processors and hyperthreading is enabled, that host has thirty two physical CPUs (8 cores x 2 processors x 2 threads per core).

2 socket x no of core per socket x logical cores = Total logical processor ( if i am not mistaken)

Reply
0 Kudos
RichardBrown
Contributor
Contributor

Thanks Tomtom,

That was just an example of resources not what isactually requested i'm just trying to get an ideal of what formula to use when estimating capacity i.e. is it a typical ratio of 2 vCPU's to 1 pCPU or 4 to 1??? I know view estimate 8 vCPUs to one core but what shold i use for servers. I obviously can't check RDY times until after the deployment and by then its too late, i agree with your point on HT about 1.5.

Thanks

Reply
0 Kudos