If you have a virtual machine with 8 vCPU, is there any performance difference in doing 1 sockets with 8 cores vs 2 socket with 4 cores each etc?
![]() ![]() |
Realistically with with modern hypervisors, hardware and operating systems there will be no real world performance difference between the two. In the past some legacy applications were written around multi CPU vs multi core workloads.
Now it's mostly around licencing (albeit this is now starting to become irrelevant now that vendors are licencing cores not just sockets). A recent example I've dealt with was a SAP application where it was licenced with a legacy perpetual licence which was for a two sockets but the engineer who set it up gave it 8x1 vCPUs rather than a 1x8 and the app wouldn't launch until it was fixed.
<#
.DISCLAIMER
Anything I post is my own and not the views of my past/present/future employer.
#>
These days you'd be more likely to find servers in a data centre with 8-24 cores (or more) per socket. Add sockets as needed depending on the budget and system requirements, but having a lot of vCPUs gives you more flexibility when it comes to hosting a lot of VMs/containers.
If you are hosting a huge Oracle database or something like that, the vendor might have their own recommendations.
#include <standard.disclaimer>
OzoneNZ: Some interesting reading here around having your VM's matching the host's NUMA layout possibly leading to some performance benefits
https://blogs.vmware.com/vsphere/2013/10/does-corespersocket-affect-performance.html
Other than that I think most people use the socket/cores split to get around OS licences that dictate a max number of sockets but unlimited cores
An extra interesting read for you : https://blogs.vmware.com/performance/2017/03/virtual-machine-vcpu-and-vnuma-rightsizing-rules-of-thumb.html
Basic rule is, start with as few vCPUs on a VM as you can and scale up if the hypervisor stats suggest you are actually hitting limits .. don't believe the stats at the VMs OS level, those stats are generally a pack of lies as they get skewed by the hypervisor scheduling the VM in and out of time on the physical cores, the hypervisor controls and knows all so if it says the VM is only using 25% of the CPU made available then it is probably right :-)
Every few months I chuck the various best practice guides at vendors who insist their VM needs 64 cores, sometimes it is a struggle to get across to them that the hardware itself only has 40 cores and putting a 64 vCPU VM on them might be a tad weird/dumb.
I have also found with that many vcpu, depending on the hosts loading, you may slow down the VM with 8vcpu due to cpu ready state, away love vendors that go we need 8 vcpu for no real reason.
https://www.sqlskills.com/blogs/jonathan/cpu-ready-time-in-vmware-and-how-to-interpret-its-real-meaning/
Remember if you have a multi-socket host to look at NUMA.
![]() ![]() |