Solved

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

Posted on 2016-11-09
19
60 Views
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,

MarcosDiSanto
0
Comment
Question by:Marcos Santo
  • 10
  • 7
  • 2
19 Comments
 
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
0
 
LVL 2

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!
0
 
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?
1
 
LVL 2

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 ?
0
 
LVL 117
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
http://www.vmware.com/resources/techresources/10131

see here
http://www.gabesvirtualworld.com/how-too-many-vcpus-can-negatively-affect-your-performance/

http://www.zdnet.com/virtual-cpus-the-overprovisioning-penalty-of-vcpu-to-pcpu-ratios-4010025185/

also there is a document here about the CPU scheduler

www.vmware.com/files/pdf/perf-vsphere-cpu_scheduler.pdf

https://blogs.vmware.com/vsphere/2013/10/does-corespersocket-affect-performance.html
2
 
LVL 2

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.
7E6C0BC.PNG
0
 
LVL 117
ID: 41880314
Correct, and YOU'VE GOT FAR TOO MANY ALLOCATED!

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!)
0
 
LVL 2

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 therefore...as 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
0
 
LVL 117

Accepted Solution

by:
Andrew Hancock (VMware vExpert / EE MVE) 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!
1
Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 2

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.

Greetings,

Marcos
0
 
LVL 117
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.
0
 
LVL 2

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 ?

CPU
0
 
LVL 2

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
0
 
LVL 117

Assisted Solution

by:Andrew Hancock (VMware vExpert / EE MVE)
Andrew Hancock (VMware vExpert / EE MVE) 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.
0
 
LVL 2

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
0
 
LVL 117
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.
0
 
LVL 2

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.
0
 
LVL 2

Author Closing Comment

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

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

Suggested Solutions

Exchange server is not supported in any cloud-hosted platform (other than Azure with Azure Premium Storage).
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…
Teach the user how to install vSphere Update Manager  Console to Windows system:  Install vSphere Update Manager: Configure vSphere Update Manager plug-in in vSphere Client: Verify vSphere Update Manager settings in vSphere Client:
Teach the user how to use configure the vCenter Server storage filters Open vSphere Web Client:  Navigate to vCenter Server Advanced Settings: Add the four vCenter Server storage filters: Review the advanced settings: Modify the values of the four v…

705 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

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now