How to Scale-Out (query replicas) Azure Analysis Services without any temporary outage?

Sujai Karnam 1 Reputation point

Our Azure Analysis Services is in the East US 2 region and on S2 tier. We are trying to perform an auto scale-out/scale-in depending on the average QPU usage reaches a certain threshold (70-80%) for a sustained period of time. We trying to use the Azure Runbook and Powershell script to automate following the sample provided in github:

The issue we are facing is that, when the scale-out/in is occurring, regardless of whether we increase the query replicas from the Azure Portal manually or through the powershell cmdlets, the users interacting with the Power BI reports in Power BI Service suddenly get intermittent connection errors to the Azure Analysis Services. The error is as shown below:

I have tried various things, such as below, but no luck. Is there any way to get around this?
Things I have tried:

  1. Separate the processing server from querying pool setting is to Yes as well as No
  2. ReplicaSyncMode setting to 2 (Optimized synchronization in parallel). Microsoft documentation says the databases are kept online on all replicas throughout the sync process and clients do not need to reconnect, but no luck

Also please let me know if I'm doing the steps correct:

  1. Process Database (The AAS database is processed only once (during midnight) in our case with "Process Full" option
  2. Synchronize operation as soon as Process Database step is complete
  3. Increase Query Replicas as needed during peak time (when the QPU usage goes beyond 70-80% of the max)
  4. Decrease Query Replicas as needed when the QPU usage drops below 30%

Since the Sync operation is done as soon as the Process Database is complete, we don't need to perform another Sync operation as and when new Query Replicas are added or removed. Is this correct?

Please help!


Azure Analysis Services
Azure Analysis Services
An Azure service that provides an enterprise-grade analytics engine.
428 questions
{count} votes