VMware / SQL - physical vs logical cores - how many vCPUs to assign when HT is enabled
We have a ESX host:
It has 2 CPU x 8 cores each, and HT enabled. So, total 16 physical cores or 32 logical cores.
It has a single dedicated SQL VM on it (no other VMs run on this host), and it has 16 vCPUs assigned:
and the SQL NUMA config looks like:
Does it mean these 16 vCPUs map to the 16 logical cores in 1 CPU, and that the other CPU containing 16 more logical cores is sitting idle?
Will increasing it to 32 vCPUs make a difference?
I found this article, that says do not assign more vCPUs than actual physical cores, regardless of logical cores. Why not?
Generally, keeping assigned vCPUs no more than the physical cores (ignoring HT) is playing it safe. You have 2 physical CPUs with 8 core each (although I remember the E5-2667 having 6) - that means 16 true cores. No need to assign more. Note that in many situations like your it's more likely to run out of RAM rather than CPU power.