Hi,
We are using our new Dell VXRail enviroment with 5 new servers which all have an Intel CPU Intel(R) Xeon(R) CPU E5-2667 v4 @ 3.20GHz with 16 logical Processors.
First question I have is what is the best physical processor, less cores and more GHz speed or more cores but less GHz speed?
Second question is we are setting up new VM's and for every VM you need to set CPU and CPU per socket. What is recommended here and what is the difference between CPU and CPU per socket? What difference does it make for your application and physical processor in your ESXi host?
Thanks
From an ESX perspective, 1 vCPU with 4 virtual cores is exactly the same is 4 vCPU with 1 virtual core. The ability to provision cores to a VM is more about what is presented to an operating system. If you want to run Windows 2008 standard, you are limited to 4 vCPUs. With the availability of cores, you can configure 4 vCPUs with 4 virtual cores, thus giving the VM 16 cores worth of processing power. The KB below provides more complete information:
VMware KB: Setting the number of cores per CPU in a virtual machine
Consider vNUMA, more on that here: Virtual Machine vCPU and vNUMA Rightsizing - Rules of Thumb - VMware VROOM! Blog - VMware Blogs
Long Story short:
* if you are <8 vCPU: don't care (from a performance perspective)
* if you are > 8 Core, do either:
* mimic your physical NUMA Topology (for example, pick "two sockets, 10 Cores per socket" for a 20 vCPU Machine in your example
* leave the "cores per socket" to 1, and deal only with the Number of Sockets, so ESXi chooses the best NUMA Setting automatically.
Choosing between more CPU sockets with lesser cores, and lesser sockets with more cores is highly depended to the OS type, version and also architecture of your critical applications that are installed in that VM. BTW if your search inside the community, you can find many related topics about CPU Sockets and cores relation, like the following links:
vCPU comparative to physical CPU and cores
Core,Logical CPU,vCPU Explained
Best way to allocate 8 vCPU to a VM