Performance efficiency in Azure Monitor

Performance efficiency is the ability of your workload to scale to meet the demands placed on it by users in an efficient manner. Use the following information to monitor the performance of your virtual machines.

This article describes Performance efficiency for Azure Monitor as part of the Azure Well-Architected Framework. The Azure Well-Architected Framework is a set of guiding tenets that can be used to improve the quality of a workload. The framework consists of five pillars of architectural excellence:

  • Reliability
  • Security
  • Cost Optimization
  • Operational Excellence
  • Performance Efficiency

Azure Monitor Logs

Optimizing performance starts with queries

Azure Monitor Logs is a fully managed, cloud‑scale service designed to automatically handle ingestion, indexing, and querying across large and fluctuating workloads. Its underlying engine employs built‑in mechanisms that optimize query execution, distribute processing, and automatically scale resources seamlessly without user intervention. As with any large analytical system, running queries across very large datasets requires extra compute resources and might impact query performance. Use the following strategies to optimize performance, especially with large datasets and querying over long time ranges.

Design checklist

  • Optimize your log queries.
  • Configure log query auditing.
  • Use Log Analytics workspace insights to identify slow and inefficient queries.
  • Consider if your scenario is suitable for summary rules.

Configuration recommendations

Recommendation Benefit
Optimize your log queries by following the guidance in Optimize log queries in Azure Monitor. Well-optimized queries run faster and consume fewer resources, providing insights to data more quickly and are less likely to get throttled or rejected. Follow best practices for writing efficient Kusto Query Language (KQL) queries to improve performance.
Configure log query auditing. Log query auditing stores the compute time required to run each query and the time until results are returned.
Use Log Analytics workspace insights to identify slow and inefficient queries. Log Analytics workspace insights uses this data to list potentially inefficient queries in your workspace.
Consider if your scenario is suitable for summary rules, such as month-over-month dashboards or reports over long time ranges. Summary rules re-ingest summarized data of large datasets after a certain delay, creating summary tables. Summary tables are queried more efficiently than the original raw data.

Virtual machines

Design checklist

  • Configure data collection and alerting for monitoring performance of client workflows.

Configuration recommendations

Recommendation Description
Configure data collection and alerting for monitoring performance of client workflows. Use the information at Monitor virtual machines with Monitor virtual machines with Azure Monitor: Collect data to configure client data collection measuring performance of your client workloads. Use the information at Monitor virtual machines with Monitor virtual machines with Azure Monitor: Alerts to create alert rules to be proactively notified of any potential performance issues with your client workloads.

Containers

Design checklist

  • Enable collection of Prometheus metrics for your cluster.
  • Enable Container insights to track performance of your cluster.
  • Enable recommended Prometheus alerts.

Configuration recommendations

Recommendation Benefit
Enable collection of Prometheus metrics for your cluster. Prometheus is a cloud-native metrics solution from the Cloud Native Compute Foundation and the most common tool used for collecting and analyzing metric data from Kubernetes clusters. Enable Prometheus on your cluster with Azure Monitor managed service for Prometheus if you don't already have a Prometheus environment. Use Azure Managed Grafana to analyze the Prometheus data collected.

See Customize scraping of Prometheus metrics in Azure Monitor managed service for Prometheus to collect additional metrics beyond the default configuration.
Enable Container insights to track performance of your cluster. When you enable Container insights for your Kubernetes cluster, you can use views and workbooks to track the performance of the components of your cluster. This data may overlap with data collected by Prometheus. See Cost optimization for recommendations regarding cost.
Enable recommended Prometheus alerts. Alerts in Azure Monitor proactively notify you when issues are detected. Start with a set of recommended Prometheus alert rules that detect the most common availability and performance issues with your cluster. Potentially add log search alerts using data collected by Container insights.

Next step