Blog Post

Apps on Azure Blog
3 MIN READ

Introducing Server-Side Test Criteria for Azure Load Testing

SaloniAgrawal12's avatar
SaloniAgrawal12
Brass Contributor
Oct 08, 2024

We are excited to announce a powerful new feature for Azure Load Testing: the ability to set test criteria on server-side metrics. This enhancement allows you to define precise failure conditions based on the performance of your server-side components, providing greater insight into performance bottlenecks and resource throttling issues.

Why Server-Side Metrics Matter

Traditionally, Azure Load Testing has empowered users to define test-failure criteria tailored to client-side metrics. By setting threshold values for these metrics, users could determine when their load test should be considered a failure. However, performance bottlenecks often originate from server-side resource constraints. By allowing test criteria configuration on server-side metrics, we provide a more comprehensive monitoring solution.

Getting Started

To leverage this new feature, follow these steps:

1. Assign a Managed Identity to Your Load Testing Resource

First, you need to assign a managed identity to your Azure load testing resource, which can be either system-assigned or user-assigned. This Managed Identity can fetch metrics from the app component.

System-Assigned Managed Identity

Here’s how to assign a system-assigned managed identity:

  • In the Azure portal, navigate to your Azure load testing resource.
  • On the left pane, select Identity.
  • In the System assigned tab, switch Status to On and select Save.
  • Confirm the assignment by selecting Yes on the confirmation window.

Once the operation completes, the page will display the Object ID of the managed identity, allowing you to assign permissions to it.

User-Assigned Managed Identity

To assign a user-assigned managed identity, follow these steps:

  • Navigate to your Azure load testing resource in the Azure portal.
  • On the left pane, select Identity.
  • Under the User assigned tab, click on Add, then select the user-assigned managed identity you want to assign from the list.
  • Select Add to confirm the assignment.

The selected user-assigned managed identity will now be associated with your load testing resource, and you can grant it the necessary permissions.

2. Grant Permissions to the Managed Identity

Next, grant the managed identity permission to read metrics from your app component:

  • Navigate to your app component in the Azure portal.
  • On the left pane, select Access Control (IAM), then select + Add, and choose Add role assignment.
  • On the Role tab, search for Monitoring Reader or Monitoring Contributor under Job functions roles.
  • On the Members tab, under Assign access to, select Managed Identity.
  • Click on Select members, search for and select the managed identity for the load testing resource, and click Next.
  • Select Review + assign to finalize the permission assignment.

3. Configure Failure Criteria on Server-Side Metrics

Finally, configure the failure criteria for server-side metrics within the Azure Load Testing portal:

  • Navigate to your Azure Load Testing resource and click on Create Test.
  • Under the Monitoring tab, configure the app components you want to monitor during the test.
  • Configure the Metrics reference identity, ensuring you use the identity granted access previously.
  • On the Test criteria pane, fill in the Resource ID, Namespace, Metric, Aggregation, Condition, and Threshold values for your test.
  • Select Apply to save the changes.

When you run the load test, Azure Load Testing will use these test criteria to determine the status of the load test run. The dashboard will display the status of each test criterion, and the overall test status will be marked as failed if at least one criterion is met.

You can even integrate your tests in your CICD pipelines to check for server bottlenecks with every release and deployment.

Conclusion

The new server-side test criteria feature for Azure Load Testing provides a robust mechanism for identifying and addressing performance bottlenecks. By configuring failure conditions based on server metrics, you can gain deeper insights and ensure the reliability and performance of your applications.

If you haven't tried Azure Load Testing yet, you can create a resource, test your application and set failure criteria on server metrics today. If you are already using Azure Load Testing, we look forward to your feedback on this feature

Thank you for your continued support.

 

Updated Oct 08, 2024
Version 1.0

1 Comment

  • jonatanerdal's avatar
    jonatanerdal
    Copper Contributor

    Hi, 

    Thanks for the guide. I am having some issues on the final step, setting up the failure criteria. I get the following error message (see image below): 

    The metrics reference identity is not enabled over the load testing resource.


    I am using system assigned identity for my LT resource, and it has Monitoring Reader role permission on the resource group containing my server side components. I have also tried with different roles (all Monitoring roles as well as Owner role) but all gives the same error message. Do you have any ideas what the issue might be?

    Also, is there any plans moving forward making it possible to setup server side components using CI/CD pipeline and not having to do it manually in the portal?