Azure Analysis Services – Query interleaving is now generally available
Published date: 16 April, 2020
Query interleaving in Azure Analysis Services is now generally available. Query interleaving helps to improve the user experience in high-concurrency scenarios where a lot of queries are submitted close to each other. Instead of processing queries in a first-in-first-out (FIFO) fashion, which can cause fast queries to get blocked behind an expensive query, query interleaving enables concurrent queries to share CPU resources so that they can run concurrently.
The Analysis Services tabular engine uses FIFO mode by default. As the following diagram illustrates, a long-running query (Q1) might be followed closely by two otherwise fast queries (Q2 and Q3). These fast queries can potentially get blocked while waiting for Q1 to complete. In a high-concurrency situation, users might perceive the system to perform slowly due to the increased query response time.
With query interleaving, on the other hand, the concurrent queries can share CPU resources, so Q2 and Q3 do not get blocked behind Q1. Q2 and Q3 return much faster, resulting in a better user experience, as the following illustration depicts. Configure a short-query bias so that CPU resources are allocated at a higher proportion for fast queries than for long-running queries, enabling them to complete in a reasonably short time.
However, note that query interleaving has little or no performance effect if queries run mostly in isolation. A single query can still consume as much CPU as it does using the FIFO model.
Query interleaving with short query bias can add great value to your enterprise BI solutions on Azure Analysis Services. For more information, see Query interleaving in the product documentation.