VMware Cloud Community
lvaibhavt
Hot Shot
Hot Shot

Increasing Virtual Sockets or Virtual Cores !

Hi All,

A request came to me to increase vcpu count to 12 on a linux machine. We are running 5.1 and the VM is at Hardware 9.

I would like to know if I go for 4 Virtual Sockets and 3 Cores in each Socket OR

If I go for 3 Virtual Sockets with 4 Cores in each socket OR

If I go for 6 Virtual Sockets with 2 Core in each Socket OR

If I go for 2 Virtual Sockets with 6 Cores in each socket OR

If I go for 12 Virtual Sockets with 1 Core in each Socket

what is the difference with these situations and what is the recommended way to go about it.

Thanks

6 Replies
weinstein5
Immortal
Immortal

Performancewise there will be no difference in any of the configurations as long as your licensing supports 12 vCPUs in a VM - The only real consideration will be if you are running an application in the VM that is licensed by the Sockect than I would fo forr the least numbe of sockets. If this is not an issue it will be your choice personall I like to keep things in line with the physical world 12 single core vXPU, 2 6 core vCPU or 6 2 core vCPUs

If you find this or any other answer useful please consider awarding points by marking the answer correct or helpful
lvaibhavt
Hot Shot
Hot Shot

Hi Weinstein,

Thanks for the reply,

There is no application restriction on the server -- in terms of licensing.

I would like to ask you; If I choose 12 Virtual Sockets and 1 Core then how CPU scheduler works in the background as I have two Physical processors/sockets on the server?

If I choose 2 Virtual Sockets and 6 cores (or if the cores were high) then also they can be accommodated as I have physically cores present but in the above case where I have two Physical sores how it works.... Is there a link or pdf which talks about the same.

Thanks

0 Kudos
zXi_Gamer
Virtuoso
Virtuoso

Does this help your query

VMware KB: Setting the number of cores per CPU in a virtual machine

Snippet

Some operating system SKUs are hard-limited to run on a fixed number of CPUs. For example, Windows Server 2003 Standard Edition is limited to run on up to 4 CPUs. If you install this operating system on an 8-socket physical box, it runs on only 4 of the CPUs. The operating system takes advantage of multi-core CPUs so if your CPUs are dual core, Windows Server 2003 Standard Edition runs on up to 8 cores, and if you have quad-core CPUs, it runs on up to 16 cores, and so on.

Virtual CPUs (vCPU) in VMware virtual machines appear to the operating system as single core CPUs. So, just like in the example above, if you create a virtual machine with 8 vCPUs (which you can do with vSphere) the operating system sees 8 single core CPUs. If the operating system is Windows 2003 Standard Edition (limited to 4 CPUs) it only runs on 4 vCPUs.

0 Kudos
lvaibhavt
Hot Shot
Hot Shot

Hi zxi,

Thanks for the reply

I followed vCPU configuration. Performance impact between virtual sockets and virtual cores? - frankdenneman.nl

It helped me a lot

Thanks everyone for your time

0 Kudos
zXi_Gamer
Virtuoso
Virtuoso

most welcome.. Please do mark the thread as helpful/answered if you find so

0 Kudos
ronsexton
Contributor
Contributor

Testing has shown i am better off in my case respecting the physical server configuration.
Most common host config is probably like ours, half height blade. 2 sockets , some cores. In this case 12 cores. 512GB of memory and Intel processors (v2)
Test was restoring a 300GB database with Microsoft SQL Server 2008 R2 on Windows Server 2012 R2 (both enterprise editions). 112GB of memory.
Test 1, time to restore was 1 hour 12 minutes. Throughput was 52 MB/sec . Config was 12 sockets 1 core. This was bad!
Test 2, time to restore was 9 minutes 50 seconds. Throughput was 334 MB/sec . Config was 1 socket 12 cores. This was great. Over 600% I/O performance improvement and a great time reduction.
Test 3, time to restore was 9 minutes 59 seconds. Throughput was 330 MB/sec. Config was 2 sockets and 6 cores. Still great.
Only change as was the socket and core configuration. VM was of course brought down for each configuration change.
So not configuring the socket count on the VM higher than the physical host in this case resulted in a fantastic performance improvement.
Run your own load tests with your application to determine the best configuration for you.

0 Kudos