How much do you know about scaling up versus scaling out in Azure Analysis Services? These features allow you to adjust resources for changes in workloads. I’d like to clear up any uncertainty about when to scale up vs. out to help you determine what’s best based on your workload scenario.
Scaling Up
- If you need more Query Processing Units (QPUs) or more memory, all you need to do is increase your pricing tier dynamically or in real-time.
- You can pause or resume your server as needed.
- You also get advanced data refresh for near real-time data model updates.
- You have one server that handles both processing and client queries.
Scaling Out
- Client queries are distributed among multiple query replicas. This may reduce response time during a high query load.
- The model processing is separated from the query pool, and this ensures that client queries are not adversely affected by processing.
- You can have your primary query replica plus 7 additional replicas.
- Processing is always done on the primary copy on the primary server, then the replicas are rehydrated in pairs. Hence, if you have at least three replicas in your pool, a query can always find a valid model regardless of the processing status. This is key for continually available data to the client.
- Something to note, replicas can’t be outside of your region and are billed at the same rate as the server.
- If you have replicas, you can affect the replica synchronization model. The default behavior is the full replica database rehydration in stages or incremental.
- However, you can configure the replicas to optimize synchronization in parallel. This may speed up the rehydration across copies but may also require more memory.
Whether you are scaling up or scaling out, you must monitor the QPU usage, and you do this by using three metrics.
- The total QPUs – this answers the question, are you hitting your max?
- Query Pool Job Queue Length – Are your queries waiting for available resources? The longer they wait, the less response time they’re getting.
- QPU by Server Resource Type – This compares the average QPU for the primary server with the query pool.
I hope this is helpful in knowing how to adjust your resources for changing workloads by scaling up or scaling out in Azure Analysis Services, as well how you should monitor your QPU usage regardless of how you make those adjustments.
If you have questions on how to adjust your resources with scaling, about Azure Analysis Services or about anything within Azure, our experts are here to help. Data and Azure are what we’re all about and our remote services offerings can help your organization gain valuable insights into your data with our fully customizable solutions. Contact us or click below to learn more.