Remote Desktop Connection Broker Scalability Testing Results

Summary

, in lab environment, is able to achieve more than 10,000 individual virtual machine (VM) run-time connections over a two-hour period. These tests show the range of scale possible with Remote Desktop Connection Broker (RD Connection Broker). Within the connection process, the overall time measured is overwhelmingly determined by the VM start and protocol connection time. RD Connection Broker does not greatly impact connection time.

What is RD Connection Broker?

RD Connection Broker is a role service within the (RDS) workload in Windows Server 2008 R2. RD Connection Broker provides the following functionality to an RDS deployment:

  • Functionality for Remote Desktop Session Host environments
    • Allows users to connect and reconnect to a new or existing remote desktop or remote application (RemoteApp) session in a load-balanced RD Session Host server farm. The Reconnect feature prevents a user with a disconnected session from being connected to a different RD Session Host server in the farm and having to start a new session.
    • Enables the session load to be evenly distributed among RD Session Host servers in a load-balanced RD Session Host server farm.
  • Functionality for Remote Desktop Virtualization Host environments (VDI)
    • Provides users access to virtual desktops hosted on RD Virtualization Host servers and to RemoteApp programs hosted on RD Session Host servers through RemoteApp and Desktop Connection.
    • Applies the rules of orchestration (waking a VM from a saved state) and load balancing of connections to virtual machines.

While you can visit this link to learn more about RD Connection Broker, this entry will speak to the scalability experiences we have seen at Microsoft with RD Connection Broker.

RD Connection Broker Test Details

Microsoft conducts multiple test scenarios within  Microsoft Labs which simulate real world scenarios. Many of these tests are outlined within our current white papers on the Scalability of RD Session Host and VDIdeployments. The tests outlined in this entry will draw a particular focus on the RD Connection Broker server’s ability to handle connections.

Microsoft has run tests in  lab specifically against an RD Connection Broker server (Windows Server 2008 R2) and reached 40,000 VMs connected to stub VMs. A stub VM is a piece of code that emulates a virtual machine. This stub VM receives the API calls from Hyper-V and the RD Connection Broker server and simulates the proper return codes from those API calls. Additionally, in deployments of the full VDI system, it has seen no performance bottleneck with the RD Connection Broker server in handling connections to personal virtual desktops or virtual desktop pools.

The following configuration was used to validate the scale of our RD Connection Broker server:

  • 16-node cluster of Hyper-V machines
  • Each node had 16 cores
  • Each node had 64 GB of RAM
  • 1000 VMs were added to the cluster
  • Each VM had 1 processor assigned
  • Each VM had 768 MB RAM assigned
  • Each VM was in a saved state
  • VM migration was not used
  • Guest operating system was Windows 7 RTM

Using the above configuration, the following tests were performed:

  • Connections to the 1000 configured personal virtual desktops
  • Connections to the 1000 configured virtual desktop pools

The test results from connecting to the 1000 configured personal virtual desktops and virtual desktop pools are below:

Test case Average connection time to get the desktop Number of simultaneous successful connection requests Number of connection requests per minute Status of metric (success metric – average connection time < 2 min, 50 simultaneous connection requests)
Initial connectivity to Windows 7 personal virtual desktop 2 minutes 220 70 Exceeds scale goals
Initial connectivity to Windows 7 virtual desktop pool 66 seconds 50 35 Meets scale goals

In addition to the tests above we also ran 2 test runs of 10+ hours on Windows 7 and Windows XP personal virtual desktops, totaling 10K+ connections by using a single RD Connection Broker server.

  • The test results of connecting 10K+ connections over 10 hours were also successful.

For more information about how to scale your overall RDS deployment, see the following: