Windows Server 2016 VM (RDS): How to improve user graphic experience?

Oct 28, 2013
308
47
93
www.nadaka.de
Hi there,

yes, I know - not exactly a Proxmox VE question... But maybe someone already solved this problem or have at least ideas what we could try. Here we go:
On one of our PVE nodes we run a Windows Server 2016 VM (KVM) as a remote desktop services server - and we're very happy so far, because this VM has the potential to reduce the number of Windows installations dramatically. :D
But "of course" the end user graphic performance is not so great, so I would like to know whether there are ways to improve it. If useful we could install a graphic card into this node and passthrough it to the VM. Or should we try improving graphic hardware on the client side?

Thanks a lot for sharing your experience!

Greets
Stephan
 
Hard to speak generally.
If you have bad bandwidth your problem might be the connection itself.
First of all the question is: how many users are connecting?
Next: What is their workload profile?
Then: how large is the server? What is the hardware beneath. RDS and Citrix TS are very CPU-intensive, means usually you want to have a high clockrate, but less cores.

If useful we could install a graphic card into this node and passthrough it to the VM.
Thats a good practice (even for standard office applications, because sind I think office 2013 there is hardware acceleration for even that kind of application).

So in the end: it depends. Share more info - it is more likely that someone can help
 
Hi tburger,

thanks a lot for your fast reply!

If you have bad bandwidth your problem might be the connection itself.
Indeed we have home office users which connect via WAN (bad bandwidth, bad latency); in these cases it's totally ok for us that graphics is not perfect. But we also like to use it inside a typical GBit-LAN infrastructure (good bandwidth, good latency). The PVE node is connected via 10 GBit/s.

First of all the question is: how many users are connecting?
At the moment there are 5-10 simultaneous users, but as I mentioned, more are welcome! :-)

Next: What is their workload profile?
Actually, typical office stuff - but nowadays, "typical office stuff" also means "browsing the web watching fancy websites and videos". Simple slideshows on websites for example sometimes look choppy in a standard RDP session and eat a lot of bandwidth.

how large is the server?
The PVE node is oldie, but goldie, I would say: 2x Intel Xeon E5-2697v2 (12 cores, 2,7 GHz), 512 GB RAM and some TB of SSD based storage. At the moment the Windows VM has assigned 8 CPU cores, 16 GB RAM and an 80 GB disk, but all of this we can increase easily.

Thats a good practice
Fine! Is there a card you can recommend? The NVIDIA Quattro P1000 seems to be a common server GPU. Is there anything equivalent from AMD?

What I also forgot to mention: The client side is and will be xfreerdp on top of Debian systems.

Thanks a lot and many greets
Stephan
 
Ok. First of all: I am no EUC expert. What I can share is from what I have experienced in the past providing infrastructure for EUC environments.

From my experience you shouldn't bump up the RDSH HW configuration, at least not the CPU.
Typically RDSH I have seen and worked with are in the area of 4vCPUs and 32 GB Memory. Beyond that things don't usually go well (means you are throwing hardware into the game, but don't get a lot out of it).

Larger VMs (CPU wise) make scheduling harder for the Hypervisor. This is something you want to avoid. In fact you also don't want to oversubscribe the CPU too much anyways. What works very well with server workloads most of the time fires back, when users experiencing the "speed" or "slowness" first hand clicking around. Optimal is a 1:1, I would say you should not go over a 2.5:1 ratio for your vCPU to pCPU. HT-cores don't count really. They can help, but don't expect more than 10-20% performance gain from half the threads.

The CPU you have is "ok" - could have a higher clock-rate, but we are also not talking about the "slow crap" 2.0 or 2.2 GHz Xeons.
Also from my experience don't expect to get over 20 users onto

I am not sure that fancy websites are really something that belongs to a RDSH. But anyways, you wont users prevent doing it ;).

In terms of the graphics card: here it gets "nasty" imho. Typically I would recommend you a M10 or T4. Both are moderns cards and can also offload a lot. Downside is: if you use their virtual profiles (so you are segregating the cards into multiple, virtual ones) you need to pay licensing on the Nvidia side. In fact I am even not sure if that can be used by Proxmox. You would need to do some research on that. A dedicated card per RDSH might not be very cost effective nor necessary, but would circle you around the vGPU and licensing topic. You can also try to get the older cards (like the P40) but be aware of their capabilities. Sometimes they are built for CAD, but not for the traditional office applications. At least this is what I have been warned about.

AMD graphics I am totally unexperienced with. But I think generally the same topics apply here as well.

HTH
 
Thank you so much for taking the time!

The graphic cards you mentioned... oh my god, they're sooo expensive! :eek:
And... licensing a graphic card? I think I'm too old for this! :D
Joking apart: What do you think about the following setup:
RDSH with 4 CPUs, 16 GB RAM and an NVIDIA Quadro P1000 - for 10-15 users.
And the next 10 users get a second identical VM, and so on.

When I do it like this (giving one physical graphic card to each VM) are there any NVIDIA licensing costs?

Thanks and greets
Stephan
 
Apologies I was pretty busy.
I think you can bump it up to 32GB of memory.
Regarding the graphics adapter: check what level of acceleration the P1000 will provide.
The cards I mentioned are not cheap, i know, but basically you can use them for 4,8 or even 32 virtual machines. So it is relatively equivalent (on a certain scale).

Regarding the client: I think this can be very limited, as it just needs to process the picture / screen. Typically have had "traditional thin clients".

I think best is you get one card, on client and do a PoC.
 
Yes, you're right!
So I will buy a P1000, put it into the server mentioned above, passthrough it to our RDS server and see what happens.
And I will build a Debian based thinclient connecting via xfreerdp.

... I'm so excited! :) And of course I will report my results!

Greets
Stephan
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!