Hosted Shared Desktop on XenDesktop 7.1

image_thumb3 Recently I did some research for an Hosted Shared Desktop environment based on Citrix XenDesktop 7.1.  The environment I did my research for consists of 40+ Remote Desktop Services servers, based on Windows 2012 R2. These servers are Citrix Provisioning Services target devices. Within Citrix XenDesktop we have published an Server OS Desktop, with the Machine Catalog, consisting of the aforementioned 40+ RDS servers. The end user will connect to this desktop after logging in to an Storefront portal.

As mentioned before the environment consists of 40+ servers. We want to be able to spread the users evenly across the available servers. Because all users cause an different workload on an server it is imported to look further than just dividing the users across the available servers. We want to be able to look at the performance of the servers when we deciding on which server the new user will logon. On Citrix XenApp 6.5, and also on the versions before we would point an Load Evaluator to an specific server or an group of servers. In this Load Evaluator we would configure the rules that XenApp would use to determine on which server the user would be allowed to logon.

In XenDesktop we don’t have Load Evaluators. To define the rules on which XenDesktop will divide the uses across the servers we have to create an Load Balancing Policy.

To create an Citrix Policy we have to right click on the Policy node in de Citrix Studio, this is the main console for maintaining the XenDesktop environment.



When the window opens for the new policy, you see all the settings you can specify with a Citrix Policy. When you click on “All Settings” you can filter the possible settings. For this purpose we filter the settings for “Load Management”. You configure different settings for load management. The possible settings include, CPU usage, Memory usage and Maximum number of sessions.

After the various settings are selected, the next step is you select the machines catalog to apply this policy to.


Monitor Load Management

When this Load Managent policy is used in the environment it is important to be able to monitor the load. When you right click on the Machine Catalog you can choose for ‘View Machines’ from the context menu. Within this view it is possible to alter the view by selecting extra columns. To monitor the active load on the environment you need to select the column “Load Index”


The value for Load Index, is similar to the output that is shown when executing the command QFARM /LOAD in an Citrix XenApp environment. So value 0 means there are no connections, and value 10000 means full load.


The value of the Load Index can also be viewed by executing an PowerShell command. First the correct Snap ins must be loaded. before the command can be executed.

Add-PSSnapin Citrix.*.Admin*
Get-BrokerMachine –SessionSupport MultiSession –Property ‘DNSName’,’LoadIndex’,’SessionCount’