How to Fix Remote Desktop Services Performance and Connection Issues
A slow or intermittent Remote Desktop Services (RDS) connection is the last thing you want to deal with when trying to access your virtual Windows Server (VPS). You may have also experienced Microsoft’s dreaded “An internal error has occurred” message when trying to use the Remote Desktop Client on your local machine, which prevents any connection whatsoever. Troubleshooting RDS performance and connection issues can be tricky because the root cause(s) of a given problem may not be obvious. Often, a bit of trial-and-error works to fix most problems and solutions range from simple to complex. This article is split into two parts: the first part describes 3 approaches to try when the Remote Desktop Client on the client isn’t working; and the second part describes 2 simple approaches to resolve RDS latency and performance issues.
Fixing Remote Desktop Client Issues
Restart Remote Desktop Services
Next to just rebooting the client, one of the easiest things you can try if the Remote Desktop Client is not working on your local machine is to start/restart the Remote Desktop Services and Remote Desktop Services UserMode Port Redirector services.
- Use Windows Key-R to open the Run dialog.
- Type
services.msc
and click Ok to launch the Services console. - Scroll down until you find the entries for the Remote Desktop Services and Remote Desktop Services UserMode Port Redirector services.
- If the services are not running, Start them.
- If the services are already running, Restart them.
- Try to reopen the Remote Desktop Client again.
Resetting the Username Hint
After connecting to your VPS for the first time, the Remote Desktop Client will save the username that was entered for authentication. When the Remote Desktop Client isn’t working, resetting the username hint can sometimes resolve the problem.
- Use Windows Key-R to open the Run dialog.
- Type
regedit
and click Ok to launch the Registry Editor. Ensure to click Yes if prompted “Do you want to allow this app to make changes to your device?” - Navigate to HKEY_CURRENT_USER\SOFTWARE\Microsoft\Terminal Server Client\Servers.
- Click on the server that you are trying to connect to in the left panel.
- On the right panel, right-click on the
UsernameHint
key and select Modify from the menu. - Delete the username hint in the Value data field and click Ok.
- Restart the local machine and try to open the Remote Desktop Client again.
Setting SendCorrelationId Key
If neither of the previous approaches were successful, a third approach is to set a SendCorrelationId key using the Registry Editor for RDS.
- Use Windows Key-R to open the Run dialog.
- Type
regedit
and click Ok to launch the Registry Editor. Ensure to click Yes if prompted “Do you want to allow this app to make changes to your device?” - Navigate to HKEY_CURRENT_USER\SOFTWARE\Microsoft\Terminal Server Client.
- On the right panel, right-click and select New followed by Key from the menu.
- Enter
SendCorrelationId
for the new key name in the left panel. - Once the key is created, click on it and right-click on the Default key in the right-panel and select Modify from the menu.
- Enter
00000000
in the Value data field and click Ok. - Restart the local machine and try to open the Remote Desktop Client again.
2. Fixing RDS Latency and Performance Issues
Ensure Reconnect Option Is Selected
One simple approach to fix intermittent RDS connection issues is to ensure that the Reconnect if the connection is dropped option is selected on the client.
- Use Windows Key-R to open the Run dialog.
- Type
mstsc
and click Ok to launch the Remote Desktop Connection console. Alternatively, you can typeRemote Desktop Connection
in the Windows Search bar. - Click on the Experience tab.
- Ensure that the Reconnect if the connection is dropped option is selected.
Enable UDP
RDS works with TCP, UDP, or both where the service automatically selects the best protocol to optimize performance. In some cases, RDS on the client and/or server might be configured to only use TCP which can introduce additional latency given that any missed or dropped packets will be retried. Setting RDS to use both TCP and UDP can improve performance.
On the remote server:
- Use Windows Key-R to open the Run dialog.
- Type
gpedit.msc
and click Ok to launch the Group Policy Editor. Alternatively, you can typeEdit group policy
in the Windows Search bar. - Under Computer Configuration, navigate to Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections.
- In the right panel, double-click on Select RDP transport protocols.
- When the Select RDP transport protocols window opens, if
Not Configured
orDisabled
is selected, then RDS is already choosing the best protocols (TCP/UDP) to optimize performance with the client. - If
Enabled
is selected and eitherUse only TCP
orUse UDP or TCP
is selected under Select Transport Type, change the selected option toUse both UDP and TCP
and then click Apply followed by Ok.
On the client:
- Use Windows Key-R to open the Run dialog.
- Type
gpedit.msc
and click Ok to launch the Group Policy Editor. Alternatively, you can typeEdit group policy
in the Windows Search bar. - Under Computer Configuration, navigate to Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Connection Client.
- In the right panel, double-click on Turn Off UDP On Client.
- When the Turn Off UDP On Client window opens, if
Not Configured
orDisabled
is selected, then the client is already setup to use both TCP and UDP to optimize performance when connected to the remote server. - If
Enabled
is selected, change the selection toDisabled
and then click Apply followed by Ok.
Connect to your remote server to gauge if performance has improved.
Conclusion
As mentioned, RDS performance and connection issues can be caused by many different underlying problems, sometimes making them difficult to troubleshoot and resolve. However, the basic approaches mentioned in this article are a good starting point before resorting to more complicated solutions to fix Remote desktop services issues.
Leave a Reply