Remote Desktop Services (RDS) Performance
Microsoft Remote Desktop Services
In a complex distributed RDS environment, it’s difficult to measure RDS performance: the end user typically notices responsiveness in a different way compared to measuring a single Windows Performance Counter!
Overall performance tends to degrade over time: and frequent maintenance is required to keep an RDS Farm efficient.
Of course, the first step is to keep the whole RDS Farm monitored, especially the load on the Session Host servers, where users run their applications.
A Grafana Dashboard provided by NetEye can give a quick, comprehensive view of what’s going on.
Grant Access Rights. Right-click the Start button (on the lower left part of your screen); A pop up menu will be displayed. Click System from that menu.(It should be in the upper portion of your available options.) A new Settings-System window will be displayed.; Click Remote Desktop from the menu at the left, towards the bottom of the menu list.; Make sure the Enable Remote Desktop slider is. Microsoft’s Remote Desktop Services is a popular desktop virtualization product. RDS provides users with a Windows client desktop that is shared among other users on Windows Server and allows administrators to provide a Windows desktop experience for many users at once, using one or more servers and a Remote Desktop Protocol client. Also, the server name in the URL must match the one in the server’s SSL certificate. The RemoteApp and Desktop Connections client software will now contact the RD Web Access server to set up the connection. You will be prompted to authenticate to the web server. This virtual server forwards Remote Desktop Gateway HTTP traffic to a virtual server on the internal BIG-IP, which then forwards the RDP sessions to the destination Remote Desktop server. The reverse proxy virtual server is secured by an iRule that allows clients to connect to only the published Remote Desktop Services.
Printer Load
One of the main load generators on Terminal Servers is the printing task.
Of course, we cannot avoid printing, but by using an external network Print Server, we can move a significant source of load off of the Session Host servers.
Disabling the default flag “render print jobs on client computers” in the Shared Printer properties will further reduce the load on RDS by moving it to the Print Server:
Limit the number of User Sessions
Ms-2019-may Remote Desktop Services Remote Code Execution Vulnerability
It’s important to limit the number of User Sessions: resources are limited and should be prioritized for people who really need them.
Configuring the “End a disconnected session” and possibly the “Idle session limit” parameters for Collection will free up unused resources:
The “pinned items on the start screen” problem
It’s important to keep User profiles on RDS small and clean as it will provide a fast user experience.
Unfortunately, a strange behavior in Windows Server tends to fill User profiles with references to pinned items on the start screen. These references are hosted in the User’s registry and grow at each user logon to the RDS Farm.
All these references slow down the user login process day by day and, after a long time, can introduce a delay of as much as 30 seconds or more!
Purging either manually or by a Group Policy is necessary to keep the user profiles clean.
Ms Remote Desktop Services Windows 7
Applications which leave bad data into User’s Profiles
Some third-party applications can also leave bad data into the user’s profiles causing slow responsiveness on RDS.
One famous case is Adobe Reader, which during some printing tasks leaves a number of Z@R****.tmp files in AppdataLocalTemp that are locked and cannot be deleted until the server is rebooted. This prevents profiles from being deleted properly upon logoff.
What to do?
There isn’t an easy way to keep a Remote Desktop Farm clean and efficient.
It’s important to have a good monitoring system like NetEye to discover long term bad trends.
Then, depending on the applications installed on the Session Host servers, you should periodically analyze the trends and the Windows Event Logs.
Alessandro Romboli
:max_bytes(150000):strip_icc()/command-window-ping-responsive_ip-5806b40f3df78cbc2845ab91-5a982255ae9ab8003783f221.png)
Latest posts by Alessandro Romboli
See All
Related Content


Tags: NetEye, performance, Remote Desktop Services
Monitoring Certificate Expiration with the x509 Module
Now, if you've followed my previous blogs about the x509 Module, you should have in place your x509 Certificates Asset with (or without) a minimum of cleanup routines. Now it's time to look at what Icinga was made for: monitoring. Read MoreVMD – Tornado Integration
We introduced an interesting new feature into NetEye starting in version 4.13 that permits integrating vSphereDB with Tornado. By being able to process vSphereDB Events and Alarms with Tornado rules and actions, you can for example use vSphereDB to dynamically Read MoreCleaning up Your Certificate Inventory
Remote Desktop Services Rds
Some of my customers make use of short-expiration SSL Certificates signed by Let's Encrypt or similar services. Our company also makes extensive use of this kind of certificate, and in the near future most (if not all) of your SSL Read MoreThe NagVis module: Adding a Grafana Panel on Mouse-over
Hi everyone, in this article I want to tell you about the NagVis module and how we're going to customize a template so that it can allow us to modify the information displayed during mouse-over (hover). Basically, what we'll try Read MoreBug Fixes for NetEye 4.14
We fixed a bug for which the Reporting scheduling service icinga-reporting.service was unable to send report after facing errors in the connection with MariaDB. For NetEye 4.14 we updated: icingaweb2-module-reporting and icingaweb2-module-reporting-autosetup package to version 0.9.1_neteye0.5.3-2