You can write a load balancing script to generate a load value based on any multi-session host metric that you want to use for load balancing.

Guidelines for Custom Load Balancing Scripts

Copy your load balancing script to a designated file on each host in the farm. To define the file path, configure the LBCustomScript option in the /etc/vmware/viewagent-custom.conf configuration file.

Your load balancing script must write the load index to a designated file on the host machine. To define the file path, configure the LBCustomScriptResult option in the /etc/vmware/viewagent-custom.conf configuration file. The load index value must be between 0-100.

Load Balancing Scenarios

The following scenarios describe the various load balancing effects that can result from custom scripts.

  • If at least one host in the farm returns a valid load value, Horizon Connection Server assumes a load value of 25 for the other hosts in farm until their load balancing scripts return valid values.
  • If no host in the farm returns a valid load value, the load balancing feature is turned off for the farm.
    Note: The Horizon Console dashboard shows -1 for those hosts that do not report a load index. Horizon Connection Server only uses the value of 25 for internal load balancing logic.
  • If your load balancing script writes an invalid load value to the file defined by the LBCustomScriptResult option in /etc/vmware/viewagent-custom.conf, the value is capped at 100 and returned as the load index to Horizon Connection Server.
  • If the script cannot find a designed file to which to write the load value, the default value of 0 is sent as the load index to Horizon Connection Server.
  • If the custom script does not finish running within 10 seconds, VMware Horizon 8 ends the script. For the load index, Horizon 8 uses stale values from the file defined by LBCustomScriptResult in /etc/vmware/viewagent-custom.conf.