How to ensure the best RDP experience for lab users

This post has been republished via RSS; it originally appeared at: New blog articles in Microsoft Tech Community.

To help you ensure the best experience for users that are connecting to lab VMs, we have put together a list of resources that show how to:

  • Estimate bandwidth requirements for Remote Desktop Protocol (RDP).
  • Connect to Windows and Linux lab VMs for an optimal experience.
  • Measure and troubleshoot latency when connecting to a lab VM.

 

Estimate RDP bandwidth requirements

The Azure Virtual Desktop (AVD) product team has put together helpful documentation that describes the requirements for RDP to ensure a high-quality user experience.  This documentation is also applicable to Azure Lab Services because RDP is often used to connect to both Windows and Linux lab VMs.  For details on RDP requirements, read the following article:

The previous article also includes a section that helps you estimate bandwidth requirements for common scenarios.  These scenarios range from using Office apps such as Word\Excel\PowerPoint to GPU visualization involving video playback.  Here is the section that provides more information on how to estimate bandwidth based on the type of user scenario:

 

Connect to Windows and Linux lab VMs for an optimal experience

Windows Remote Desktop Connection

We recommend users connect to Windows lab VMs using Microsoft’s Remote Desktop Connection (RDC or sometimes called RDP) client app.  The RDC\RDP client app includes various settings that can be adjusted to optimize the user’s connection experience.  Typically, these settings don’t need to be changed.  By default, the settings are already configured to choose the right experience based on the user’s network connection.  For more information on these settings, read the article about the RDC\RDP client's experience settings.

 

Linux Remote Desktop Connection

To connect to Linux VMs with a graphical desktop environment, we recommend using:

  • Microsoft’s RDC\RDP client app which uses Xrdp, an open-source Linux version of RDP.  See the previous section for more information about how to configure the RDC\RDP client app’s settings.
  • Or use X2Go.  In some cases, such as with Ubuntu LTS 18.04, X2Go provides better performance. 

If you use RDP and notice latency when interacting with the graphical desktop environment, consider trying X2Go instead because it may improve performance.

 

For more information on how to enable RDP or X2Go on Linux lab VMs, read the following article:

For more information about how users connect to their lab VMs, read the following articles:

 

Measure and troubleshoot latency when connecting to a lab VM

To measure the latency that a user experiences when connecting to their lab VM, you can use a utility called PsPing to measure response times.  For example, you can use PsPing to compare and troubleshoot response times when a user connects from a home network versus from an on-premise network within a school or company. 

 

Since PsPing is a Windows utility, you must run PsPing on a Windows machine from within the network that you want to measure latency from.  You can use PsPing to measure latency to both Windows and Linux lab VMs.   PsPing is used instead of the ping utility because ping uses the ICMP protocol which is disabled at the networking level for labs.  PsPing uses the TCP protocol which enables you to test connectivity using the lab’s connection string.  As shown in the following screenshot, use the command prompt to execute psping to get the VM’s response time:

  • psping <your lab VM connection string>

nicolehaugen_0-1633442244071.png

 

There are a few ways to get the connection strings for lab VMs:

  • Use the lab’s Virtual machine pool screen.  Next to each VM, you will see an option to Show RDP information which allows you to copy the connection string.

nicolehaugen_2-1633442310410.png

  • Use Azure Lab Service’s PowerShell module and run the following command:
    • Get-AzLabAccount -LabAccountName ‘your_labaccount_name’ | Get-AzLab -LabName 'your_lab_name' | Get-AzLabVM | ForEach-Object {Write-Host $_.properties.networkInterface}

Thanks for reading!

Azure Lab Services Team

 

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.