zeebahi
Enthusiast
Enthusiast

Acceptable logical CPU oversubscription and vCPU ready time

Jump to solution

Hi  guys,

1) Not an expert, but my understanding is ideally we should avoid oversubscription of logical CPU on ESXI host, but if we must do oversubscription of logical CPU, is there any maximum limit  say 3:1 , where 3 is vCPU and 1 is logical CPU on the host?

2)  What is  max acceptable ready time for vcpu?  

Google search shows following:

https://www.ibm.com/support/pages/virtual-machine-cpu-ready#:~:text=It%20is%20normal%20for%20a,VMs%2....

It is normal for a VM to average between 0–50 ms of CPU ready time; anything over 1000 ms is considered to lead to VM performance problems

Are we saying:

1) 0-50msec ( acceptable) 

2) Anything between 50msec-1000msec is abnormal, but it should not impact performance

3) Anything above 1000msec, performance issue.

Thanks and have a good day!!

 

 

 

 

 

 

 

 

0 Kudos
1 Solution

Accepted Solutions
vbondzio
VMware Employee
VMware Employee

Over-subscription is fine (core or thread), it really depends on how much those vCPUs are utilized and whether the workload's / your requirement can deal with HW (SMT) or scheduling contention. Any ratio you read about is usually based on observed VM utilization averages, e.g. 2 vCPUs to 1 core or 1 thread is unlikely to cause contention, 4:1 more so etc. If you have 40 cores and 2 x 20vCPU DB servers that are 50% utilized on average and 80% at peak, you might only want to run 1:1 (or even less to leave more headroom for IO, esp. with vSAN). If on the same host, you run 160 x 1 vCPU VMs of barely utilized services, that might still leave a lot of headroom available. The only way to determine a ratio is to look at a function of host usage (conservative, utilization if aggressive) and avg. VM contention.

With regard to ready time, you might want to watch this here, 24 min. in: https://www.vmworld.com/en/video-library/video-landing.html?sessionid=1589484575728001Zb6J (vmworld.com account is free).

View solution in original post

2 Replies
vbondzio
VMware Employee
VMware Employee

Over-subscription is fine (core or thread), it really depends on how much those vCPUs are utilized and whether the workload's / your requirement can deal with HW (SMT) or scheduling contention. Any ratio you read about is usually based on observed VM utilization averages, e.g. 2 vCPUs to 1 core or 1 thread is unlikely to cause contention, 4:1 more so etc. If you have 40 cores and 2 x 20vCPU DB servers that are 50% utilized on average and 80% at peak, you might only want to run 1:1 (or even less to leave more headroom for IO, esp. with vSAN). If on the same host, you run 160 x 1 vCPU VMs of barely utilized services, that might still leave a lot of headroom available. The only way to determine a ratio is to look at a function of host usage (conservative, utilization if aggressive) and avg. VM contention.

With regard to ready time, you might want to watch this here, 24 min. in: https://www.vmworld.com/en/video-library/video-landing.html?sessionid=1589484575728001Zb6J (vmworld.com account is free).

DominikWeglarz
Enthusiast
Enthusiast

Hi !

2.5 to 1 / 3.5 to 1 is considered OK for avarage/normal/not critical workload.

For extremly critical workload (like critical VMs with multiple vCPUs ) you can use n-1 policy (1 core leave for esxi). All depends. Do some tests in your enviroment and check what suits you.

0 Kudos