How to use Azure Load Testing Service to optimize your app performance

Azure Load Testing

The initial article I wrote (February 2022), while the service was in Preview. As of few days ago, the service is generally available across Microsoft Azure.

What are we talking about here?

If you are developing an app or a service that needs to handle high-scale load, you might want to test its performance, scalability, and capacity before deploying it to production. However, setting up and managing a load testing infrastructure can be complex and costly. That’s why Microsoft has introduced Azure Load Testing Service, a fully managed service that enables you to generate high-scale load without managing complex infrastructure.

Azure Load Testing and Azure Monitor integration
Azure Load Testing and Azure Monitor integration

The service simulates traffic for your applications, regardless of where they are hosted. You can use it to test apps hosted in Azure, on-premises, or in other clouds. You can also load test services that have no public endpoint by deploying it in a virtual network.

Supported Azure resource types is here: link.

IT integrates with Azure Monitor, including Application Insights and Container Insights. It aims to collect and display detailed resource metrics from the Azure services that your app depends on. These metrics help you identify performance bottlenecks and optimize your app’s performance, scalability, and capacity.

How does it work?

To use this service, you need to create a load test project in the Azure portal or in Visual Studio Code. Then, you need to define your load test scenario. The scenario specifies the number of virtual users, the duration, the URL of your app, and the HTTP requests to send. You can also customize your load test scenario by adding variables, headers, assertions, and scripts.

Once you have defined your load test scenario, you can run it and monitor the results in real time. You can see the client-side metrics, such as the number of virtual users, the request response time, or the number of requests per second. Besides that, server-side metrics is also available, such as the CPU utilization, the memory usage, or the network throughput of your Azure services.

Pricing

Azure Load Testing is priced based on the number of virtual user hours (VUH) you consume during your load tests.

Table representing Azure Load Testing Prices (https://azure.microsoft.com/en-us/pricing/details/load-testing)
Pricing and purchasing options (Region: West Europe, US Dollar)

A Virtual User Hour = (# of virtual users simulated * the duration the simulation in minutes) / 60 minutes per hour. They count number of active virtual users every 10 seconds. Then, You are charged for the equivalent number of fractional Virtual User Hours used.

Example: For instance, simulating 1,000 virtual users, for 30 minutes, the charge is 500 virtual user hours.

Conclusion

This service is a powerful and easy-to-use tool that can help you optimize your app’s performance, scalability, and capacity.

Getting started

What is Azure Load Testing?

Azure Load Testing documentation

Visual Studio Marketplace

Azure Load Testing – Tools and Services

Apache JMeter

Apache JMeter Plugin

Quickstart: Create and run a load test with Azure Load Testing

Tutorial: Identify performance regressions with Azure Load Testing Preview and GitHub Actions

Introducing Azure Load Testing (Video)

Azure Firday with Scott Hanselman, John Stallo (Video)

What’s new in Azure Load Testing? with April Edwards, Nikita Nallamothu (The DevOps Labs)

Integrate Azure Load Testing into GitHub Actions with April Edwards, Nikita Nallamothu (The DevOps Labs)

About Dimitar Grozdanov 36 Articles
Engineer. 25+ years “in the field”. Cloud Solution Architect. Trainer, Consultant. Co-founder/Supporter of Tech Communities. Speaker. Blogger. Parent. Passionate about craft beer tasting and hanging out with family and friends.

Be the first to comment

Leave a Reply

Your email address will not be published.


*