Dilemma with choosing the right setup with cores and sockets for terminal server???

Posted on 2016-11-09
Last Modified: 2016-11-14
Dear Sir/Madam,

I explain the situation down below and the current whay we have it setup is with 6 sockets 4 cores. Our cpu is constantly on high usage and we think that we could optimise
 the performance when we adjust the current setup. The question is how would you do that?
So I have a server with 2 cpu,s, both have 6 cores with hyperthreading so a total of 24 vCPU.

How would you split that up on a terminal server in VMWare?
1 socket, 24 cores
2 sockets, 12 cores
4 sockets, 6 cores

I really appreciate any help you can provide,

Question by:Marcos Santo
  • 10
  • 7
  • 2
LVL 28

Expert Comment

by:Michael Pfister
ID: 41880106
How many terminal servers? Just one? How many concurrent users?
How many other VMs on this VMWare server?
Is this a VMWare cluster or just a stand-alone host?
Where do you see the high CPU load? On the terminal server? If yes, check with Windows Task Manager which processes are using your CPU

Author Comment

by:Marcos Santo
ID: 41880107
Hi there,

It is just 1 Terminal Server (Windows Server 2012 R2 with RDS), about 30 users, stand-alone host.
High cpu load shows on the VMware Host, Task Manager in Windows Server shows around 40-60%.
It's just one Terminal Server on the host, no other vm's.

Thanks in advance!
LVL 28

Expert Comment

by:Michael Pfister
ID: 41880280
Just one VM on one server? Then it doesn't matter how you distribute your CPUs and cores. You won't gain a bit.
Check VMWare real time monitoring to find out which processes are eating up the CPU.
Is this all the time? Or just a few peaks over the day?
Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.


Author Comment

by:Marcos Santo
ID: 41880282
If I check online, then the way of distributing the cores does seem to make a difference. Currently the terminal server now "thinks" he has 6 processors with each 4 cores. If we change this to like 4 processors with each 6 cores, wouldn't server 2012 handle the CPU requests differently/faster ?
LVL 119
ID: 41880289
It's quite simple, only use CORES if you have licensing requirements.

VMware vSphere by DEFAULT uses the correct allocation for a VM, which is use SOCKETS.

So that's 2 or 4 vCPUs (CPUS) in a VM.

You will find that using Terminal Services on a virtual server SLOW compared to physical hardware.

So you may find performance e.g. CPU tops out at 90-100% very quickly for 15 concurrent users.

So 30 users, reduce to 15 users, and create a VM with 2 sockets, and build another ts server.

So scale out and build more TS servers, with dual processors, or switch to a physical server, and the same physical server, will provide you with 50 concurrent users per physical server.

also have a read of the following

vSMP (virtual SMP) can affect virtual machine performance, when adding too many vCPUs to virtual machines that cannot use the vCPUs effectly, e.g. Servers than can use vSMP correctly :- SQL Server, Exchange Server.

This is true, many VMware Administrators, think adding lots of processors, will increase performance - wrong! (and because they can, they just go silly!). Sometimes there is confusion between cores and processors. But what we are adding is additional processors in the virtual machine.

So 4 vCPU, to the VM is a 4 Way SMP (Quad Processor Server), if you have Enterprise Plus license you can add 8, (and only if you have the correct OS License will the OS recognise them all).

If applications, can take advantage e.g. Exchange, SQL, adding additional processors, can/may increase performance.

So usual rule of thumb is try 1 vCPU, then try 2 vCPU, knock back to 1 vCPU if performance is affected. and only use vSMP if the VM can take advantage.

Example, VM with 4 vCPUs allocated!

My simple laymans explaination of the "scheduler!"

As you have assigned 4 vCPUs, to this VM, the VMware scheulder, has to wait until 4 cores are free and available, to do this, it has to pause the first cores, until the 4th is available, during this timeframe, the paused cores are not available for processes, this is my simplistic view, but bottom line is adding more vCPUs to a VM, may not give you the performance benefits you think, unless the VM, it's applications are optimised for additional vCPUs.

See here

see here

also there is a document here about the CPU scheduler

Author Comment

by:Marcos Santo
ID: 41880303
So this is my current setup (attachment),
When you say "So that's 2 or 4 vCPU's"...are you talking about the Sockets if I understand correctly ? or the total number of cores in the botom ?

Sorry for my confusion, but I would really like to make sure that I don't misunderstand this (again).

Thank you.
LVL 119
ID: 41880314

and over subscribbed your VM!

if you are going to allocate that much resource to a VM, you might as well forget the hypervisor and install on bare metal!

change to 2 sockets or 4 sockets, and check performance

So that's 2 or 4 in the top box - sockets

and 1 core in the bottom box!

Did you get a chance to read what I wrote, and read the links ? (bottom one at least!)

Author Comment

by:Marcos Santo
ID: 41880369
Hi Andrew,

Thanks again for all the information. In the last article they are talking about Numa, I have checked the server with ESXTOP and find that in my Guest (Terminal server) it's currently set to 0,1  (which is not good I think and you said..the performance issues). If I see correctly in ESXTOP, they have 2 NUMA, but it's not (correctly) used.

Is this correct what I'm saying or do I still not understand correctly ? (sorry for asking so much :P)

When we put the bottom number of cores per socket on 1, is this best practise, or can we set it to like 6 (maximum), because it has 6 cores per socket ?

Or is this the miscalculation that everyone makes and the most importing thing is the socket ?

Thank you very much.

ESX TOPHardware resources
LVL 119

Accepted Solution

Andrew Hancock (VMware vExpert / EE MVE^2) earned 500 total points
ID: 41880380
Always use Sockets and set CORES to 1.

Unless you have a licensing restriction.

VMware Defaults to Sockets, and therefore selects the best for your VM.

So 2 x 1, or 4 x 1.

Try with 2 vCPUs or 4 vCPUs, and see what performance is like.

as I wrote in my article, MOST/EVERYONE makes this mistake, and forgets what you are trying to do with virtualisation, which is consolidation, at the compromise of performance!

Author Comment

by:Marcos Santo
ID: 41880443
Good afternoon Andrew,

We will start with 4 vCPU's with 1 core to see what the performance will do.
Thanks again for the explanation and the very quick replies.

I will let you know how the change will affect the VM.
Don't know for sure if I can do this today, maybe it will be this weekend.


LVL 119
ID: 41880503
not a problem, and then try 2!

when you find there is no performance increase by adding processors, that's the sweet spot, and I think you'll find scaling out is better than adding processors.

Author Comment

by:Marcos Santo
ID: 41881724
Performance went from ok/bad to really really poor
after adjusting it to 4/1
What is the next step.....add more sockets or switch back to the previous overkill cpu's ?


Author Comment

by:Marcos Santo
ID: 41881780
Goodmorning Andrew,

We had to shutdown the server during production and we gave it 16 sockets with 1 core
performance is back to normal - we keep monitoring it during the day, but now it's around 50% all the time with +- 30 users

CPU and Cores
LVL 119

Assisted Solution

by:Andrew Hancock (VMware vExpert / EE MVE^2)
Andrew Hancock (VMware vExpert / EE MVE^2) earned 500 total points
ID: 41881790
Okay, so a change from 6x4 to 4x1 to 16x1

did you try 8 x 1 ?

But if performance is good for you, then that's the configuration you need.

We still recommend, many TS servers.

Author Comment

by:Marcos Santo
ID: 41882032
Hi Andrew,
Yes we went from 6x4 (sluggish) to 4x1 (really, really bad) to 16x1 (seems ok/good so far). some users say it's faster...some users say it's the same.....
Keep you posted about the peformance, we're already looking to add a TS, but first we're gonna try to add sockets to see if the performance goes up.
Do you happen to know what is better for SQL ? I'm aware you are a VMWare and not SQL expert (I think). But do you have any experience in settings sockets/cores to SQL servers ? Currently the SQL server is set to 2x1
LVL 119
ID: 41882061
Exactly the same for SQL and ALL VMs!

Do not oversubscribe, and allocate the sockets you require.

But remember, performance as a VM is not ever likely to match a physical server.

Author Comment

by:Marcos Santo
ID: 41885921
Andrew thanks once again,

The story is clear and we are now monitoring the performance.
We are using 16 sockets and 1 core.

Author Closing Comment

by:Marcos Santo
ID: 41885923
Thanks everyone for responding!!!
LVL 119
ID: 41885929
no problems

Featured Post

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
cloning a vm failure 9 64
replace a Storage 5 78
VMware ESXi vswitch - performance question 2 46
Do hyper-v and VMware clash 4 59
This article will show you how to create an ISO CD-ROM/DVD-ROM image (*.iso), and MD5 checksum signature, for use with VMware vSphere Hypervisor 6.5 (ESXi 6.5). It's a good idea to compare checksums, because many installations fail because of a corr…
In this step by step tutorial with screenshots, we will show you HOW TO: Enable SSH Remote Access on a VMware vSphere Hypervisor 6.5 (ESXi 6.5). This is important if you need to enable SSH remote access for additional troubleshooting of the ESXi hos…
This Micro Tutorial steps you through the configuration steps to configure your ESXi host Management Network settings and test the management network, ensure the host is recognized by the DNS Server, configure a new password, and the troubleshooting…
This Micro Tutorial walks you through using a remote console to access a server and install ESXi 5.1. This example is showing remote access and installation using a Dell server. The hypervisor is the very first component of your virtual infrastructu…

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question