Horizon 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.
Follow the best practice of including the session count with other metrics when you configure load balancing settings. If the session count is not included, then, during load balancing, one of the RDS hosts gets considerably more session requests than other RDS hosts when a large number of users logon to the farm within 30 seconds. This occurs because the sampling interval is 30 seconds and the CPU, Memory, or Disk statistics are not collected in the last 30 seconds. As a result, all session requests in the last 30 seconds go to the RDS host that reports the lowest load index even though this RDS host, after a few sessions, gets a higher load than the other hosts.
To mitigate this issue, you can also reduce the sampling interval to collect the CPU, Memory, and Disk statistics more frequently than every 30 seconds. You can reduce the sampling interval to a minimum of 5 seconds however, this can affect performance on the RDS host. You can alter the sampling interval by configuring the CPU and Memory Sampling Interval in Seconds global policy setting. For more information on configuring global policy settings, see the Horizon Administration document.
Option | Description |
---|---|
Use custom script | Select this setting to use a custom script for load balancing. If this setting is enabled, Horizon does not consider other load balancing settings and reads the CustomLoadValue registry key in the following location to get the server load index: 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 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 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 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 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 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 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. |