With XenDesktop 7, the name XenApp will no longer be used for new products. Well I even made a statement that XenApp died! Well it will be on 14th of January of 2020. When we take a look at XenDesktop 7 Studio, we see that there is no longer a Load Balancing option in the console. For a Desktop OS there is no need for load balancing because you have just one session per OS. XenDesktop 7 gives us to opportunity to add a Servers OS. With a Server OS you are able to have multiple sessions to one OS. So how do we set the Load Balancing for Server OS? With policies.
Yes, Citrix has put the load balancing options as policies. There are seven load balancing policies to be exact. The policies are named:
- CPU usage
- Disk usage
- Memory usage
- Memory usage base load
- Maximum number of sessions
- Concurrent logons tolerance
- CPU usage excluded process priority
What are the default settings?
- CPU usage: report full load (%) 90, disabled by default
- Disk usage: Report 75% load (disk queue length) 8, disabled by default
- Memory usage: report full load (%)90, disabled by default
- Memory usage base load: Report zero load (MBs) 768, enabled by default
- Maximum number of sessions: limit 250, enabled by default
- Concurrent logons tolerance: Target value 2, enabled by default
- CPU usage excluded process priority: exclude processes that have a priority of Below Normal or Low, enabled by default
The default load will look like this: Max 250 users per Server OS, a max of 2 concurrent logons and 768 MB reserved for the OS.
XenDesktop 7 and Qfarm
Can I still use Qfarm to get the load? No you cannot, Qfarm is an IMA command and with XenDesktop we use FMA. So how we do get the load? There are several methods. First by using Director. On the first page you will receive an error when a machine gets a full load.
You can also create a custom filter using the following view and filter options:
The second method
The second method is by using Studio. This method requires you to look for the full load. By selecting the correct machine catalog and adding the Load Index column.
The load is 0 for no load and 10,000 for a full load.
The third method
The third method is by using PowerShell. I have created a PowerShell script with the output similar to the Qfarm /load command:
Get-BrokerMachine –Filter ‘SessionSupport –eq “MultiSession”’ –Property @(‘DNSName’,’LoadIndex’)
When users try to launch an application or desktop while all active servers are reporting a full load, a new server will be started and made available for new connections. If there are no servers to start or the machines are put in maintenance mode, then the connection will fail.