Key concepts for new Azure Load Testing Preview users

Learn about the key concepts and components of Azure Load Testing preview. This can help you to more effectively set up a load test to identify performance issues in your application.

Important

Azure Load Testing is currently in preview. For legal terms that apply to Azure features that are in beta, in preview, or otherwise not yet released into general availability, see the Supplemental Terms of Use for Microsoft Azure Previews.

Load testing resource

The Load testing resource is the top-level resource for your load-testing activities. This resource provides a centralized place to view and manage load tests, test results, and related artifacts. A load testing resource contains zero or more load tests.

When you create a load test resource, you specify its location, which determines the location of the test engines.

You can use Azure role-based access control for granting access to your load testing resource.

Azure Load Testing can use Azure Key Vault for storing secret parameters. You can use either a user-assigned or system-assigned managed identity for your load testing resource.

Test

A test specifies the test script, and configuration settings for running a load test. You can create one or more tests in an Azure Load Testing resource.

The configuration of a load test consists of:

When you run a test, a test run instance is created.

Test engine

A test engine is computing infrastructure, managed by Microsoft, that runs the Apache JMeter test script. You can scale out your load test by configuring the number of test engines. The test script runs in parallel across the specified number of test engines.

The test engines are hosted in the same location as your Azure Load Testing resource.

While the test script runs, Azure Load Testing collects and aggregates the Apache JMeter worker logs. You can download the logs for analyzing errors during the load test.

Test run

A test run represents one execution of a load test. It collects the logs associated with running the Apache JMeter script, the load test YAML configuration, the list of app components to monitor, and the results of the test.

During a test run, Azure Load Testing sends the Apache JMeter script to the specified number of test engines. After the test run, the logs and test results are aggregated and collected from the test engines.

You can view and analyze the load test results in the Azure Load Testing dashboard in the Azure portal.

App component

When you run a load test for an Azure-hosted application, you can monitor resource metrics for the different Azure application components (server-side metrics). While the load test runs, and after completion of the test, you can monitor and analyze the resource metrics in the Azure Load Testing dashboard.

When you create or update a load test, you can configure the list of app components that Azure Load Testing will monitor. You can modify the list of default resource metrics for each app component. Learn more about which Azure resource types are supported by Azure Load Testing.

Metrics

During a load test, Azure Load Testing collects metrics about the test execution. There are two types of metrics:

  • Client-side metrics give you details reported by the test engine. These metrics include the number of virtual users, the request response time, the number of failed requests, or the number of requests per second. You can define pass/fail criteria based on client-side metrics to specify when a test passes or fails.

  • Server-side metrics are available for Azure-hosted applications and provide information about your Azure application components. Azure Load Testing integrates with Azure Monitor, including Application Insights and Container insights, to capture details from the Azure services. Depending on the type of service, different metrics are available. For example, metrics can be for the number of database reads, the type of HTTP responses, or container resource consumption.

Next steps

You now know the key concepts of Azure Load Testing to start creating a load test.