Azure Tips and Tricks - How to test application performance with Azure Load Testing
How to test application performance with Azure Load Testing
Application performance testing
When you build an application, you want it to be fast. Users should perceive it as fast and performant, even when many users are using it. And your application should continue to work without errors when it is under load. It can be difficult to know how your application behaves when it is used by many concurrent users. Azure Load Testing can help by putting your application under load and analyzing how it performs.
In this post, we'll test the performance of an existing web application with Azure Load Testing.
Prerequisites
If you want to follow along, you'll need the following:
- An Azure subscription (If you don't have an Azure subscription, create a free account before you begin)
- An existing application running in Azure. For instance, a web application running in an App Service Web App.
Test and analyze the performance of a web application
We'll start by creating an Azure Load Testing resource from the Azure portal.
- Go to the Azure portal
- Click the Create a resource button (the plus-sign in the top left corner)
- Search for Load Testing, select the "Azure Load Testing" result and click Create
- Select a Resource Group
- Fill in a Name
- Select a Location
- Click Review + create and then Create
Create an Azure load testing resource
Before we can create a test, we need to create an Apache JMeter script. This is a scripts that tells Azure Load Testing what to test and how to do it. JMeter scripts have the .jmx extension and look like the code here:
This JMeter script simulates a load test of five virtual users simultaneously accessing a web endpoint. It takes less than two minutes to complete. All you need to do to make this script work for you is to replace the string your-endpoint-url with the endpoint of the web application that you want to test, like microsoft.github.io/AzureTipsAndTricks.
Now that we have an Apache JMeter script, we can create a test in the Azure Load Testing resource.
- Navigate to the Azure Load Testing resource in the Azure portal
- Select the Tests menu
- Click on Create new test
- In the Basics tab, enter a Test name
- Click Next: Test plan
- Select the JMeter script that you created and click Upload
- Click Next: Parameters
Upload an Apache JMeter script
- You can enter environment variables and secrets that can be used by the JMeter script. Let's leave this blank and click Next: Load
- We only need one test engine instance to run the test. You can scale this up to increase the threads that will be executed. Click Next: Test criteria
- Here we can create failure criteria that state when the test fails. Let's create one
- For Metric, select Error
- The Aggregate function should be Percentage
- Select Greater than for Condition
- Enter 50 for Threshold. This tells the test that it fails if more than 50 percent of requests fail
- Click Next: Monitoring
- Here, we can indicate Azure services to be monitored during the test. The application that we are testing runs in an Azure App Service Web App, so let's select that
- Click Next: Review + create and then Create to create the test. It will run automatically when it is created
When the test is done, it will show the results in the overview. This includes the load, response time, error percentage and throughput. You can see more details for the Azure services that were monitored by clicking on Additional insights.
The results of the load test
Conclusion
Azure Load Testing helps you to test the responsiveness and resilience of your application when it is under load. You can integrate it into your DevOps pipeline to identify performance regressions, and you can monitor and analyze the Azure services that are under load.
Create a trial account today and go and check it out!
Published on:
Learn moreRelated posts
This Month in Azure Static Web Apps | 09/2024
We are back with another edition of the Azure Static Web Apps Community! :party_popper: September was yet another month ...
GitHub Copilot for Azure: 6 Must-Try Features
As developers, we are constantly seeking tools that streamline our workflows and boost productivity. … Enter GitHub Copilot for Azure, now in ...
Responsible AI Mitigation Layers
Generative AI is increasingly being used in various kinds of systems to augment humans and infuse intelligent behavior into existing and new a...
Streamline Your Azure Workflow: Introducing GitHub Copilot for Azure in VS Code
I'm excited to announce the public preview of GitHub Copilot for Azure - a new addition to your toolkit that seamlessly integrates with G...
Build Intelligent Apps Code-First with Prompty and Azure AI
Building Generative AI applications can feel daunting for traditional app developers. What does the end-to-end applicati...
Certificación AI-900 (Fundamentos de IA) con Chicas en IA
La inteligencia artificial ha llegado para quedarse, ¡y más aún con la revolucionaria IA generativa! Para ayudar a los profesionales a especia...
Get certified with Learn Live GitHub series!
GitHub Universe is coming, and Microsoft and GitHub are partnering to offer a new special Learn Live series in Brazilian Portuguese, English a...
Certifícate con Learn Live GitHub en Español
Microsoft y GitHub se han unido para ofrecer una nueva serie especial de Learn Live en inglés y español: GitHub 2024. Del 10 al 24 de Octubre,...
Evaluating generative AI: Best practices for developers
As a developer working with generative AI, you've likely marveled at the impressive outputs your models can produce. But how do you ensure the...
Introducing Azure Product Retirement Livestreams
The Azure Retirements team, in collaboration with key partner groups, is excited t...