Horizon 8 calculates the Server Load Index based on the load balancing settings you configure in Horizon Console. The Server Load Index indicates the load on the server. The Server Load Index can range from 0 to 100, where 0 represents no load and 100 represents full load. A Server Load Index of -1 indicates that load balancing is disabled. You can view the Server Load Index in the Horizon Console dashboard. Horizon also offers threshold values in the load balancing settings for logon storm handling.

Logon storms occur when a large number of users log into the farm within a short time interval. In these events, the Server Load Index reported by the RDS hosts may be stale, or out of date, because the sampling interval for the CPU, Memory, and Disk statistics is 30 seconds and only updates those metrics after 30 seconds. Horizon provides two methods for mitigating this issue of the stale Server Load Index: the Horizon Connection Server will send session requests to RDS hosts with a lower number of concurrently connecting sessions as well as a lower load index, and the Horizon Agent will be able to reject and redirect sessions based on the number of concurrently connecting sessions on the machine and the load index using thresholds provided in the Horizon Console.

When configuring load balancing settings, follow the best practice of including the session count with other metrics, which allows the load balancing to place session requests on machines with a lower number of total sessions. In addition, follow the best practice of setting a Connecting Session Threshold in the Horizon Console, which helps better load balance during logon storms.

Logon storm handling thresholds, which include Connecting Session Threshold and Load Index Threshold, by best practice should be set only on the Horizon Console. However, they can also be set on each RDS host through Agent Configuration Policy Settings (for more information, see "VMware View Agent Configuration ADMX Template Settings" in the Horizon Remote Desktop Features and GPOs document). If both policy settings and Horizon Console settings for logon storm handling thresholds are set, the policy settings will take precedence.

Table 1. Load Balancing Settings in Horizon Console
Option Description
Use custom script

Select this setting to use a custom script for load balancing. If this setting is enabled, Horizon 8 does not consider other load balancing metrics for calculating server load index, but it will consider the Connecting Session Threshold and Load Index Threshold used for logon storm handling. To get the server load index, Horizon reads the CustomLoadValue registry key in the following location: HKLM\Sofware\VMware Inc.\VMware VDM\Performance Stats\CustomLoadValue. See Writing a Load Balancing Script for an RDS Host.

Include session count Select this setting to include the session count on the RDS host for load balancing. If none of the settings are selected for load balancing and if the custom script setting is not selected, Horizon 8 uses the session count by default. Disable this setting if you do not need to consider the session count for load balancing.
CPU usage threshold Threshold value for the CPU usage in percentage. Horizon 8 uses the configured CPU threshold to calculate the CPU load index factor. You can set a value from 0 to 100. The recommended value is 90. By default, this setting is not considered for load balancing. The default value is 0.
Memory usage threshold Threshold value for the memory in percentage. Horizon 8 uses the configured memory threshold to calculate the Memory Load Index factor. You can set a value from 0 to 100. The recommended value is 90. By default, this setting is not considered for load balancing. The default value is 0.
Disk queue length threshold Threshold of the average number of both read and write requests that were queued for the selected disk during the sample interval. Horizon 8 uses the configured threshold to calculate the Disk Load Index factor. You can set the value to any positive integer. By default, this setting is not considered for load balancing.
Disk read latency threshold Threshold of the average time of read of data from the disk in milliseconds. Horizon 8 uses the configured threshold to calculate the Disk Load Index factor. You can set the value to any positive integer. By default, this setting is not considered for load balancing. The default value is 0.
Disk write latency threshold Threshold of the average time of write of data to the disk in milliseconds. Horizon 8 uses the configured threshold to calculate the Disk Load Index factor. You can set the value to any positive integer. By default, this setting is not considered for load balancing. The default value is 0.
Connecting session threshold Threshold value for connecting sessions, for use in logon storm handling. The configured threshold specifies the maximum number of sessions that can concurrently log into each RDSH agent machine in the farm, exempting reconnecting sessions. This is configurable from 0 to 150. The recommended value is 20, but the value can be lowered to decrease the number of concurrent sessions that can log in to further protect each RDS host. By default, this threshold is disabled and does not deny session logons (default value is 0).
Load index threshold Threshold value for load index, for use in logon storm handling. The configured threshold specifies the minimum load index at which each RDSH agent machine in the farm will start denying session logins, exempting reconnecting sessions. This is configurable from 0 to 100. The recommended value is 0 (disabled). The value can be set to a higher number (between 90-100) to reject sessions on an RDS host based on an exceedingly high load index. By default, this threshold is disabled and does not deny session logons (default value is 0).