BCTTech
Contributor
Contributor

Optimize Performance of Single VM vCPU vs pCPU

We have an ESXi Host, running a single VM that we need to optimize the CPU performance.  This VM runs a CPU-intensive application, and the faster the CPU - the quicker the data can be processed.

I've read several articles & forum postings on physical CPU sockets, cores, vCPUs, hyperthreaded, best practices, NUMA, right-sizing etc. and I'm still slightly confused.

What would be the optimal CPU configuration for a single VM on this Host?

ESXi 5.5 U3

2x CPU Sockets Xeon E5-2670 2.6 GHz

8 Cores Each

Hyperthreading enabled

32 Logical Processors

128 GB Ram

VM currently configured for 32 GB Ram (can bump up to 128 since no other VMs)

VM currently configured for 4 CPU Sockets, 4 Cores per Socket

From everything I've read, it seems that configuring the VM to have 2 Sockets and 8 Cores per socket would be optimal to take advantage of NUMA.  Is that correct?

What about Hyperthreading enabled vs disabled in this scenario?

0 Kudos
3 Replies
daphnissov
Immortal
Immortal

Firstly, understand that there's no blanket "best" configuration that anyone can offer. It highly depends on what that workload is and how it's been developed to use CPU. Just like everything else, determine a KPI and develop a test plan to determine if the changes you're making are helping or hurting performance. It's really just guesswork otherwise.

That said, it's generally preferable to create a "wide" VM and to use all sockets with cores equal to one. This will allow ESXi to place into proper NUMA nodes itself.

0 Kudos
BCTTech
Contributor
Contributor

determine a KPI and develop a test plan to determine if the changes you're making are helping or hurting performance.

If this were in a test environment, I would do that but this VM is already in production.

it's generally preferable to create a "wide" VM and to use all sockets with cores equal to one.

Physical cores or logical processors?

What about hyper-threading enabled vs disabled in this case?

0 Kudos
NirbhayRathore
Contributor
Contributor

Can you refer the following documentation and configure the vCPU for the virtual machine.

Virtual Machine vCPU and vNUMA Rightsizing - Rules of Thumb - VMware VROOM! Blog - VMware Blogs

0 Kudos