Skip to main content

September 2, 2026

Load Balancing of Multi-Session VMs in a Pool

Horizon Cloud uses an agent load index, based on your load balancing settings, for Auto Scaling power management and load balancing of multi-session virtual machines (VMs) in a pool.

We recommend using Autonomous Mode as it will automatically manage your VMs availability based on past workload demands to optimize scaling for busy periods and quiet hours alike. It is available in both Single-Session Floating and Multi-Session Pool Groups.

Horizon Cloud agents use the following threshold settings to calculate the Agent Load Index. The index value is between 0 and 100 and is used to measure the load on each VM. You configure these settings by using pool group policies.

  • CPU Usage Threshold
  • Memory Usage Threshold
  • Disk Queue Length Threshold
  • Disk Read Latency Threshold
  • Disk Write Latency Threshold

Because of the critical role that the Agent Load Index plays in power management and load balancing, select appropriate values to achieve your desired balance of power consumption and performance.

System's Determination of VM Usage in a Pool

The system determines the usage of VMs in a specific pool by selecting the higher of the following two percentage values:

  • Session occupancy: The number of active sessions within the pool divided by the total number of sessions possible on the powered-on VMs in the pool. The number of sessions possible is calculated by multiplying the number of powered-on VMs in the pool by the Sessions per VM value that you have specified for the pool.

  • Average load index: The average Agent Load Index, as described above, of the powered-on VMs in the pool.

For pool expansion, the system then compares the selected average load index value to the specified high threshold for the power management setting. For expansion to occur, the Max VMs setting must be greater than 1.

In both of the following examples, the Power Management setting is Optimized Performance. The high threshold for the Optimized Performance setting is 50%, meaning that when the usage reaches 50%, the system powers up one of the unused VMs.

Example 1 - Pool Expansion Due to Session Occupancy Exceeding the High Threshold

In this example, the following settings are used:

  • Sessions per VM = 20
  • High threshold for Power Management = 50%

Before Expansion - VMs and Usage values

  • Powered on VM 1 Sessions running = 10
  • Powered on VM 1 Agent Load Index = 25%
  • Session occupancy = 10 sessions running / (20 Sessions per VM x 1 VM) = 50%
  • Average load index = Agent Load Index 25% / 1 VM = 25%

The higher of the two values is 50%, which matches the high threshold for the Optimized Performance setting for Power Management. As a result, the system powers on a second VM.

After Expansion - VMs and Usage values

  • Powered on VM 1 Sessions running = 10
  • Powered on VM 1 Agent Load Index = 25%
  • Powered on VM 2 Sessions running = 0
  • Powered on VM 2 Agent Load Index = 0%
  • Session occupancy = (Sessions running 10 + 0) / (20 Sessions per VM x 2 VM) = 25%
  • Average load index = (Agent Load Index 25% + 0%) / 2 VMs = 12.5%

The higher of the two values is 25%, which is below the high threshold for the Optimized Performance setting for Power Management. As a result, the system takes no action.

Example 2 - Pool Expansion Due to Average Load Index Exceeding the High Threshold

In this example, the following settings are used:

  • Sessions per VM = 20
  • High threshold for Power Management = 50%

Before Expansion - VMs and Usage values

  • Powered on VM 1 Sessions running = 4
  • Powered on VM 1 Agent Load Index = 50%
  • Session occupancy = 5 sessions running / (20 Sessions per VM x 1 VM) = 25%
  • Average load index = Agent Load Index 50% / 1 VM = 50%

The higher of the two values is 50%, which matches the high threshold for the Optimized Performance setting for Power Management. As a result, the system powers on a second VM.

After Expansion - VMs and Usage values

  • Powered on VM 1 Sessions running = 5
  • Powered on VM 1 Agent Load Index = 50%
  • Powered on VM 2 Sessions running = 0
  • Powered on VM 2 Agent Load Index = 0%
  • Session occupancy = (Sessions running 5 + 0) / (20 Sessions per VM x 2 VMs) = 12.5%
  • Average load index = (Agent Load Index 50% + 0%) / 2 VMs = 25%

The higher of the two values is 25%, which is below the high threshold for the Optimized Performance setting for Power Management. As a result, the system takes no action.

Was this page helpful?

Provide feedback for this topic

Was this topic helpful?

Please do not include any personal or confidential information.

Generating link…