AZ-400: Designing and Implementing Microsoft DevOps Solutions

Analyze Metrics

Inspect infrastructure performance indicators including CPU memory disk and network

In this lesson, we explore how to inspect key infrastructure performance indicators in Azure. Monitoring these indicators—including CPU usage, memory utilization, disk performance, and network activity—is critical for managing your Azure environment effectively and ensuring optimal performance and cost-efficiency.

The image is titled "Infrastructure Performance Indicators" and features an illustration of a person interacting with a digital interface, accompanied by a message about maintaining the Azure environment's health and efficiency.

Monitoring performance indicators helps you achieve three primary goals:

  • Maintain optimal application and service performance.
  • Minimize downtime.
  • Optimize resource usage and control costs.

The image displays three infrastructure performance indicators: optimal performance, minimize downtime, and optimize resource usage, each represented by a distinct icon.

In this lesson, we cover the following four performance indicators:

  1. CPU usage
  2. Memory utilization
  3. Disk performance
  4. Network activity

Understanding how to monitor and interpret these metrics enables you to manage your Azure infrastructure effectively.


CPU Performance

CPU performance measures the processing power used by your applications and services. A higher CPU usage percentage indicates that your system is working harder. For instance, if your system is using 75% of its available CPU capacity, it can still accommodate additional load. Azure tools, such as Azure Monitor and Azure Metrics, offer real-time and historical CPU performance data to help you maintain balanced resource allocation.

The image illustrates key performance indicators for infrastructure, including CPU usage, memory utilization, disk performance, and network activity.

The image illustrates "CPU Performance" with a graphic of a server stack and a laptop, highlighting processing power usage by applications and services.

CPU usage is typically indicated as a percentage of the total available CPU capacity.

The image illustrates CPU performance, showing a computer tower with a highlighted section labeled "Total available CPU capacity," and notes that performance is expressed as a percentage of this capacity.

By using tools like Azure Monitor and Azure Metrics, you can set up alerts for when CPU usage exceeds a defined threshold (e.g., above 80% for more than five minutes). This proactive monitoring enables you to identify bottlenecks early and scale resources before slow performance or crashes impact users.

The image illustrates the impact of high CPU usage, showing slow performance with a loading bar and an application crash with an error message.


Memory Utilization

Memory utilization represents the amount of RAM consumed by your applications and services. Maintaining optimal memory usage is vital because insufficient memory can trigger slow performance or even application crashes. Azure Monitor and Azure Metrics enable you to track memory utilization, helping to identify memory leaks or inefficient usage patterns.

The image explains memory utilization, highlighting issues like slow performance and application crashes due to RAM usage.

Example: Monitoring Memory in Azure

  1. Navigate to Azure Metrics.
  2. Select the resource you want to monitor (e.g., a virtual machine or an application).
  3. Choose the memory usage metric and create visualizations to track both real-time and historical data.

The image is a flowchart illustrating a practical example of memory monitoring in Azure, with three steps: navigating Azure metrics, selecting a relevant resource, and choosing a memory usage metric.

Reviewing memory trends and spikes allows you to determine if your application requires optimization or an increase in allocated memory resources.

The image shows a memory monitoring graph with available memory data over time, highlighting average, 5th, and 10th percentile values. It emphasizes identifying trends and spikes in memory consumption.

If memory usage remains consistently high, consider optimizing your application code to release unused memory or increasing memory allocation.

The image illustrates a practical example of memory monitoring, showing a graph with excessive memory usage and a suggestion to optimize application memory management practices.


Disk Performance

Disk performance measures the efficiency of data reading and writing to your storage disks—a critical factor for applications managing large datasets. The three key metrics to monitor include:

  • IOPS (Input/Output Operations Per Second): Number of read and write operations per second.
  • Latency: The disk's response time.
  • Throughput: The volume of data transferred per second.

The image illustrates disk performance, showing the process of reading from and writing to storage disks, with icons representing data interaction.

Low latency signifies a responsive storage system, whereas high latency may lead to sluggish performance.

The image illustrates disk performance factors: Input/Output Operations per Second (IOPS), Latency, and Throughput, highlighting that low latency signifies quick response time.

The image illustrates disk performance metrics, highlighting IOPS, latency, and throughput, with a note that throughput measures the amount of data transferred per second.

Poor disk performance can result in slow file operations, increased latency, timeouts, and errors. Azure Monitor and Azure Storage Metrics are invaluable for tracking these metrics. Configure alerts for scenarios such as latency exceeding a predefined threshold.

The image illustrates declining disk performance with a downward trend line, arrows, and a label indicating "Poor disk performance."

The image shows three graphs illustrating disk performance metrics such as IOPS, MB/s, and latency, with a note about Azure Monitor providing graphs and alerts based on metric thresholds.

If disk performance issues arise, consider optimizing storage configurations, upgrading to premium disks, or implementing caching solutions.


Network Performance

Network performance assesses the efficiency of data transfer between different components in your Azure environment—a vital aspect for applications dependent on inter-service communication. The primary network performance metrics include:

  • Bandwidth: The volume of data that can be transferred.
  • Latency: The time required for data to travel between sources.
  • Packet Loss: The percentage of data packets that do not reach their destination.

Poor network performance can lead to slow responses, transfer delays, and user frustration. Azure Network Watcher offers robust monitoring for bandwidth, latency, and packet loss.

The image illustrates "Network Performance," showing data transfer between a desktop computer and a laptop, symbolizing efficient data exchange.

Example: Monitoring Network Performance in Azure

  1. Enable Network Watcher in your Azure subscription.
  2. Configure it to monitor the relevant metrics of your virtual networks.
  3. Use tools such as Connection Monitor and Network Performance Monitor to gather real-time and historical insights.

The image is a diagram illustrating network performance monitoring using Azure Network Watcher, focusing on bandwidth, latency, and packet loss.

The image shows a slide titled "Practical Example of Network Performance Monitoring" with two metric charts displaying "Packets Sent" and "Packets Received" for virtual networks.

The image is a slide titled "Practical Example of Network Performance Monitoring," showing network issues and suggesting corrective actions like optimizing configurations, increasing bandwidth, and implementing QoS policies.


Benefits and Challenges of Proactive Monitoring

Proactive performance monitoring enables you to:

  • Detect issues early, before impacting users.
  • Optimize resource usage and manage costs effectively.
  • Deliver a superior user experience.

The image outlines the benefits of proactive performance monitoring, highlighting early detection of performance issues, optimization of resource usage, and improved user experience and satisfaction.

Note

It is essential to identify the most relevant metrics for your application and configure appropriate alert thresholds. This avoids alert fatigue while ensuring that significant performance issues are promptly addressed.

Challenges may include:

  • Identifying key metrics that truly impact your application.
  • Setting alert thresholds wisely to avoid excessive notifications.
  • Balancing performance improvements with overall cost efficiency to prevent resource over-provisioning.

Addressing these challenges enables you to maintain a smoothly functioning, high-performing Azure environment.


This lesson provided an in-depth exploration of monitoring and managing CPU, memory, disk, and network performance in Azure. Leveraging Azure's robust suite of monitoring tools ensures a healthy environment, delivering optimal performance and an enhanced user experience.

Watch Video

Watch video content

Previous
Introduction