Azure Data Explorer - measures to improve concurrency, response time, throughput

databricksuser-5173 20 Reputation points
2025-05-31T09:09:29.85+00:00

Hi

Reference: https://learn.microsoft.com/en-us/kusto/management/alter-merge-workload-group-command?view=microsoft-fabric

As per recommendations in above link, increasing "MaxConcurrentRequests" has improved concurrency. Are there any other settings designed for getting the best utilization of CPU, because I still see CPUs are not fully utilized.

Any recommendations to improve concurrent queries for below specific observations?

A) Response Times improvement

B) Throughput improvement

Regards

Azure Data Explorer
Azure Data Explorer
An Azure data analytics service for real-time analysis on large volumes of data streaming from sources including applications, websites, and internet of things devices.
{count} votes

1 answer

Sort by: Most helpful
  1. Anonymous
    2025-06-02T04:34:48.2533333+00:00

    Hi @databricksuser-5173
    It sounds like you're looking to optimize the performance of Azure Data Explorer, particularly in terms of CPU utilization, response times, and throughput for concurrent queries. Here’s what you can consider: 

    1. MaxConcurrentRequests: You've already increased the "MaxConcurrentRequests," which is great! 
    2. Workload Groups: Creating a new user-defined workload group can help, especially if you want to fine-tune the way queries are prioritized. This allows more control over the resources allocated to different types of queries. The performance benefits include: 
      1. More tailored resource management based on usage patterns. 
      2. Potentially improved response times for specific queries if they’re mapped to the right workload group with optimal settings. 
    3. Optimizing Data and Query Design: 
      1. Optimized Table Schema Design: Ensure your table schemas are optimized to minimize CPU usage. This includes choosing appropriate data types, using denormalization where beneficial, and avoiding large sparse tables. 
      2. Data Partitioning and Pre-aggregation: Using partitioning policies can boost performance. Materialized views can help pre-aggregate data to reduce the CPU load during query time. 
      3. Caching: Make use of caching strategies to minimize repeated CPU usage for frequently accessed queries. 
    4. Cluster Policies: Adjust the Request Rate Limit policy to allow for more concurrent requests as needed, but remember to test thoroughly to ensure your cluster can handle the updated limits. 
    5. writing efficient queries is essential. You could go use of .set query_trace=true or the explain operator to diagnose slow queries.
    6. Keep an eye on your cluster's metrics to identify potential bottlenecks and areas for improvement. Azure Monitor can give you insights into query performance, resource usage, and more.

    If this answers your query, do click Accept Answer and Yes for was this answer helpful. And, if you have any further query do let us know. 


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.