Another RDS server?
-
@siringo said in Another RDS server?:
@IRJ said in Another RDS server?:
Have you thought about the addressing the real problem? What's making these users need a terminal server in the first place?
Are all users really dependent on terminal server or are some using it for convenience?
Can you replace any of these dated apps with web apps?
Thanks @IRJ , yep that's part of my process as well.
The server is 2016 Hyper-V guest with 8 virtual processors and with 16GB of 'startup' RAM and uses dynamic memory, maxing out at around 36GB.
I was looking at it this morning, had about 15 users on it and Resource Monitor was telling me that CPU use was around 70%. I looked at each session and couldn't see any session using more than normal resources.
I forgot to reboot it last night, I'll reboot tonight in the vague hope that that may fix something?
15 users that's 2 users per vCPU. That's reasonable according to MS.
But 70% CPU is a lot. Too much I think.
What's the utilization on the hyper-v host? Are there other VMs running on it as well?
-
@Pete-S yes, there's one other VM. It has 8vCPU's 16GB of startup RAM and uses dynamic memory.
Unfortuantely I didn't have time to look at the problem too much today so I'm not too sure how busy the host was.
How can I determine how many vCPUs I can assign to a VM??
-
@siringo as few as possible.
-
I've found the item that's using excessive memory, it's an app that was added after the server was spec'd and put in place.
I can see the app in Resource Monitor, anyone know how I can export the Resource Monitor values to Excel etc?
-
@siringo said in Another RDS server?:
@Pete-S yes, there's one other VM. It has 8vCPU's 16GB of startup RAM and uses dynamic memory.
Unfortuantely I didn't have time to look at the problem too much today so I'm not too sure how busy the host was.
You have 48GB RAM and one 8 core CPU on the hyper-v host. 10K HDDs.
On that host you have:
- 1 VM, 16GB-36GB RAM, 8 vCPU, running 2016 RDS with 15 users @ 70% CPU
- 1 VM, 16GB+ RAM, 8 vCPU.
I think your hardware is just not up to the task. Not enough RAM and not enough cores.
-
@Pete-S said in Another RDS server?:
@siringo said in Another RDS server?:
@Pete-S yes, there's one other VM. It has 8vCPU's 16GB of startup RAM and uses dynamic memory.
Unfortuantely I didn't have time to look at the problem too much today so I'm not too sure how busy the host was.
You have 48GB RAM and one 8 core CPU on the hyper-v host. 10K HDDs.
On that host you have:
- 1 VM, 16GB-36GB RAM, 8 vCPU, running 2016 RDS with 15 users @ 70% CPU
- 1 VM, 16GB+ RAM, 8 vCPU.
I think your hardware is just not up to the task. Not enough RAM and not enough cores.
Also the servers memory config is puzzling to me because E5-2600 v4 CPUs have 4 channels of memory.
So for maximum performance you should use 4, 8 or 12 DIMMs. Only way I get to 48GB RAM is with 12 x 4GB DIMMs. That's very unusual for a server of that generation.Or you might have 6 x 8GB DIMM which in that case is bad. It's called an unbalanced memory configuration. It works but it's low performance. You're only getting 60% of the memory bandwidth.
-
@Pete-S I dont think RAM performance is issue here.
We have Win2008R2 server that constantly serves 8-15 RDS users on VM with 16GB RAM and 4vCPU (HW is Dell T30 with 2x16GB ECC RAM, 4 core E3-1225v5, and 2*500GB SSD).
CPU nad RAM are not issues for US in this case.
We use this server for serving bookkeeping app, and notdemanding Excel tables. -
@siringo said in Another RDS server?:
I've found the item that's using excessive memory, it's an app that was added after the server was spec'd and put in place.
I can see the app in Resource Monitor, anyone know how I can export the Resource Monitor values to Excel etc?
You enable monitoring which logs the data, then you export the logs to whatever you want.
-
Why do the users need a terminal server? Does everyone need it?
-
@IRJ said in Another RDS server?:
Why do the users need a terminal server? Does everyone need it?
Are you asking the OP to justify the use case?
-
@DustinB3403 said in Another RDS server?:
@IRJ said in Another RDS server?:
Why do the users need a terminal server? Does everyone need it?
Are you asking the OP to justify the use case?
Yes
-
@IRJ said in Another RDS server?:
Why do the users need a terminal server? Does everyone need it?
You asked this yesterday. I'm guessing he just doesn't want to answer you
-
@siringo said in Another RDS server?:
@Pete-S yes, there's one other VM. It has 8vCPU's 16GB of startup RAM and uses dynamic memory.
Aside from your runaway program eating memory, this is a problem. You are causing a wait state for CPU availability.
What was drilled into me back when I moved to virtualization is that before the Hypervisor can send the job to the real hardware, enough real cores had to be available to match the number used by the VM.
So each VM must have clock cycles for all 8 real cores available before they can process things.
-
@JaredBusch Are you trying to say that not a single VM should have 8vCPUs or just that it would be better that @siringo decreases vCPU number on secondary (non-RDS) VM
-
@Mario-Jakovina said in Another RDS server?:
@JaredBusch Are you trying to say that not a single VM should have 8vCPUs or just that it would be better that @siringo decreases vCPU number on secondary (non-RDS) VM
None should have 8 because of his CPU only have 8 cores.
I would set the RDS to 6 and the other to 1 or 2 depending on what it is..
Basically, everything should be only 1 or 2 vCPU unless specifically noted otherwise.
-
@JaredBusch said in Another RDS server?:
None should have 8 because of his CPU only have 8 cores.
Does it mean that in my case (4-core CPU) VM should use only 3 vCPU even if it is only VM on the host?
@JaredBusch said in Another RDS server?:
Basically, everything should be only 1 or 2 vCPU unless specifically noted otherwise.
For DB servers and RDS servers, we use all available cores to better serve more users at the same time. Is something wrong with that?
-
@Mario-Jakovina said in Another RDS server?:
Does it mean that in my case (4-core CPU) VM should use only 3 vCPU even if it is only VM on the host?
Generally you don't want to match 1:1 because the management interface (vmware exi, hyper-v dom0, XCP-ng etc) all have some overhead.
-
@Mario-Jakovina said in Another RDS server?:
@JaredBusch said in Another RDS server?:
None should have 8 because of his CPU only have 8 cores.
Does it mean that in my case (4-core CPU) VM should use only 3 vCPU even if it is only VM on the host?
Yes, this is correct.
@JaredBusch said in Another RDS server?:
Basically, everything should be only 1 or 2 vCPU unless specifically noted otherwise.
For DB servers and RDS servers, we use all available cores to better serve more users at the same time. Is something wrong with that?
While you can assign all cores to every virtual machine, it is a horrible idea. The virtual machines will be doing next to nothing but waiting on each other to finish background processes.
Check out
https://www.hpe.com/us/en/insights/articles/10-virtualization-mistakes-everyone-makes-1808.html
and
https://www.sqlskills.com/blogs/jonathan/cpu-ready-time-in-vmware-and-how-to-interpret-its-real-meaning/
if you want to know why. -
@travisdh1 said in Another RDS server?:
While you can assign all cores to every virtualhorrible idea. The virtual machines will be doing next to nothing but waiting on each other to finish background processes.
I did not mean to say that we have multiple VMs with all cores assigned.
We have one VM on one host, and we assign all cores to it - is that OK? -
@Mario-Jakovina said in Another RDS server?:
@travisdh1 said in Another RDS server?:
While you can assign all cores to every virtualhorrible idea. The virtual machines will be doing next to nothing but waiting on each other to finish background processes.
I did not mean to say that we have multiple VMs with all cores assigned.
We have one VM on one host, and we assign all cores to it - is that OK?IT will not have bottlenecks (generally) but it is still a horrible practice.