---
title: "Autoscale Host Pools"
slug: "autoscale-host-pools"
updated: 2026-06-15T12:57:35Z
published: 2026-06-15T12:57:35Z
canonical: "support.controlup.com/autoscale-host-pools"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://support.controlup.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Autoscale Host Pools

ControlUp DaaS IQ’s intelligent automation solution optimizes the performance and cost of your environments. By dynamically adjusting the number of running session hosts based on real-time demand, DaaS IQ ensures that your cloud infrastructure always scales up to meet peak user needs and scales down to eliminate wasted compute spend.

You can adjust the number of running session hosts in your Azure Virtual Desktop (AVD) host pools based on real-time demands in DaaS IQ. This ensures that your organization’s users always have sufficient capacity during peak times, while reducing Azure compute spend by shutting down unused hosts during off-hours. The following article explains how to configure the [**Scaling Policy**](/v1/docs/autoscale-host-pools#create-autoscale-policy-profile) for your organization’s AVD host pools.

Note the DaaS IQ automatically detects if a managed host pool has an Azure Scaling Plan assigned that might conflict with a DaaS IQ **Autoscale Policy**. If a conflict is detected, a warning appears directly on the host pool, helping you quickly catch and resolve misconfigurations before they impact pool behavior.

## How It Works

Autoscale functions using **Shared Policies** and a **Scheduler**.

- **Shared Policies**: A reusable **Autoscale Policy** defines when to scale and by how much. A single policy can be assigned to multiple host pools simultaneously. Note that changes to a shared policy take effect immediately across all linked host pools.
- **Scheduler**: A visual 24/7 calendar interface where you "paint" 1-hour blocks to assign specific policies to specific times. Note that changes to a **Scheduler** take effect immediately.

## Create Autoscale Policy Profile

Configure an autoscale policy profile through the following steps:

1. [Strategy](/v1/docs/autoscale-host-pools#step-1-strategy)
2. [Performance](/v1/docs/autoscale-host-pools#step-2-performance-elastic-mode-only)
3. [Experience](/v1/docs/autoscale-host-pools#step-3-experience)
4. [Summary](/v1/docs/autoscale-host-pools#step-4-summary)

### Automatic Tags

DaaS IQ validates Azure tags on host pools and session hosts before performing autoscale. Automatic tags guarantee clear ownership, safe automation, and seamless integration with Azure native controls. They prevent conflicts, enable precise management, and avoid duplicating existing Azure data, ensuring a secure, manageable, and future-proof environment.

Before you create, update, or execute a scaling policy, DaaS IQ validates:

1. Host pool ownership tags
2. Session host VM ownership tags

If ownership is found to belong to a different DaaS IQ tenant, both the autoscale configuration and execution will be blocked.

### Step 1: Strategy

Define the operational mode and the capacity boundaries that best fit your host pool's needs:

| Mode | Behavior |
| --- | --- |
| **Static** (default) | Bypasses metric evaluation to maintain a fixed, specific number of hosts on at all times. Ideal for maintenance windows, providing skeleton capacity overnight, or pools where a predictable, unchanging headcount is required. |
| **Elastic** (dynamic) | Automatically powers hosts on/off or creates/deletes them dynamically based on real-time load metrics, including CPU, memory, and free sessions. Ideal for environments where user demand fluctuates throughout the day. |

> [!NOTE]
> Tip
> 
> Most policies use **Elastic** during business hours and **Static** for off-hours with a low count (e.g., 1 or 0).

1. From the DaaS IQ Overview page, click the **Host Pools** tab.
2. Click the name of the host pool you want to configure the policy for.

![host pools tab with host pool selected in data grid](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/DaasHostPools.png)
3. Click the **Scaling Policy** tab.

![scaling policy tab selected](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/DaasScalingPolicy.png)
4. Click **Create New Profile**. The **Create New Scaling Profile** popup opens.

![create new scaling profile popup window](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/DaasCreateScalingProf.png)
5. In the **Profile Name** field, enter a name for the profile.
6. Optionally, in the **Description** field, enter a description.
7. From the **Profile Color** dropdown, select a color.
8. Under the **Provisioning & Limits** area, select the operational mode:
  - **Static** (default):
    1. From the **Number of Hosts to Power On** switch, select the number of hosts.
  - **Elastic** (dynamic):
    1. From the **Min Hosts (Floor)** switch, select the minimum number of hosts.
    2. From the **Max Hosts (Ceiling)** switch, select the maximum number of hosts.
    3. From the **Burst Batch Size** switch, select the number of hosts to power on per scaling instance.
    4. Under the **Elastic Scaling Mode** area, select how to deal with changing host demands.
9. Optionally, to save costs, click the **Smart Minimums (Cost Assurance)** toggle.
  1. From the **Utilization Threshold (%)** switch, select the percentage of utilization.
  2. From the **Time Window (minutes)** switch, select the number of minutes.
  3. From the **Scale Down to Host Count** switch, select the number of hosts to scale down.
10. Click **Next**.

### Step 2: Performance (Elastic mode only)

Define the logic for adding or removing host capacity based on **CPU Threshold**, **Memory Threshold**, and **Free Sessions**:

- **Scale Out Triggers**: Uses **OR** logic. If any single scale out condition is exceeded, autoscale adds one batch of hosts.
- **Scale In Triggers**: Uses **AND** logic. All scale in conditions must be met before batches of hosts are removed to ensure user performance isn’t compromised.

1. Optionally, under the **Scale Out Triggers** area > **CPU Threshold** **(%)**, select the pool average of CPU utilization threshold to exceed (e.g., 70%).
2. Optionally, under **Memory Threshold (%)**, select the pool average of memory utilization threshold to exceed (e.g., 80%).
3. Under **Minimum** **Free Sessions**, select the number of available session slots. If the available slots drop below your set buffer limit (e.g., 5), autoscale adds more host capacity.
4. Optionally, under the **Scale In Triggers** area > **CPU Threshold** **(%)**, select the pool average of CPU utilization threshold to drop below (e.g., 30%).
5. Optionally, under **Memory Threshold (%)**, select the pool average of memory utilization threshold to drop below (e.g., 40%).
6. Under **Scale-In Free Sessions Buffer**, select the number of available session slots. If the available slots exceed your set buffer limit (e.g., 10), autoscale removes host capacity.

> [!WARNING]
> Important For Single-Session Pools!
> 
> For host pools with a maximum session limit of **1**, autoscale ignores **CPU** and **Memory** thresholds. Scaling is driven exclusively by the **Free Sessions** buffer.
7. Under the **Behavior Settings** area, set the **Stabilization Window (min)** to define a cooldown period (e.g., 10–15 minutes) following any scale action. This prevents autoscale from immediately reacting to the load changes it just triggered, ensuring the system has adequate time to stabilize before the next evaluation.
8. Click **Next**.

### Step 3: Experience

When scaling in, DaaS IQ uses **Drain Mode** to protect active sessions.

![create new scaling profile popup window experience step](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/DaasScalingExp.png)

1. Under the **User Notification Settings** area > **Grace Period (min)**, select the number of minutes allowed for users to save work and log off voluntarily. Once the period ends, remaining users are forcefully logged off and the VM shuts down.
2. In the **Notification Title** field, enter the title of the notification to display to users.
3. In the **Notification Message** field, enter the text of the notification to display to users.
4. Click **Next**.

### Step 4: Summary

![create new scaling profile popup window summary step](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/DaasScalingSum.png)

1. Review the **Configuration Summary** to verify that you defined all the settings for the autoscale policy profile as needed.
2. Click **Create Profile**. The new autoscale policy profile you created now appears as an option above the **Weekly Schedule**. ![scaling policy weekly schedule showing new weekend shift policy selected](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/DaasScalingWeekly.png)
3. To apply your new profile, assign it to the schedule by clicking on time slots as needed.
4. Optionally, to ensure VMs remain available during anticipated high-demand periods, you can define specific time windows where scale-in operations are blocked.

On the right side of the time slots, under **Scale-In Restriction** click **Edit > Enable scale-in restriction**, and set the times and days to block scale-in for the profile as needed.

![scale-in restriction option enabled to block scale in](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/DaasScaleInRest.png)
5. Click **Save Changes**.

To edit an applied profile, under **Applied Profiles**, click **Settings** to open the **Edit Profile** popup, edit the settings as needed, and click **Save**. ![applied profiles area with settings button selected](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/DaasScalingApplied.png)

### Hide Autoscale Profiles

To prevent autoscale misconfigurations, you can hide dynamic scaling profiles on personal host pools.

Filter your **More Profiles** list by selecting the **Hide unsupported** checkbox:

![hide unsupported scaling profiles toggle selected](https://cdn.document360.io/098100b7-b9da-4bea-b4b9-017140ab863e/Images/Documentation/DaaSScalingProfHide.png)

You can also select or deselect multiple profiles to quickly clear your active selections.
