|
| 1 | +--- |
| 2 | +title: Key concepts for Azure Load Testing concepts |
| 3 | +titleSuffix: Azure Load Testing |
| 4 | +description: Learn how Azure Load Testing works, and the key concepts behind it. |
| 5 | +services: load-testing |
| 6 | +ms.service: load-testing |
| 7 | +author: ntrogh |
| 8 | +ms.author: nicktrog |
| 9 | +ms.topic: conceptual |
| 10 | +ms.date: 03/30/2022 |
| 11 | +ms.custom: template-concept |
| 12 | +--- |
| 13 | + |
| 14 | +<!-- |
| 15 | + Customer intent: |
| 16 | + As a developer I want to understand the Azure Load Testing concepts so that I can set up a load test to identify performance issues in my application. |
| 17 | + --> |
| 18 | + |
| 19 | +# Key concepts for new Azure Load Testing Preview users |
| 20 | + |
| 21 | +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. |
| 22 | + |
| 23 | +> [!IMPORTANT] |
| 24 | +> 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](https://azure.microsoft.com/support/legal/preview-supplemental-terms/). |
| 25 | +
|
| 26 | + |
| 27 | +## Load testing resource |
| 28 | + |
| 29 | +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](#test). |
| 30 | + |
| 31 | +When you create a load test resource, you specify its location, which determines the location of the [test engines](#test-engine). |
| 32 | + |
| 33 | +You can use [Azure role-based access control](./how-to-assign-roles.md) for granting access to your load testing resource. |
| 34 | + |
| 35 | +Azure Load Testing can use Azure Key Vault for [storing secret parameters](./how-to-parameterize-load-tests.md). You can [use either a user-assigned or system-assigned managed identity](./how-to-use-a-managed-identity.md) for your load testing resource. |
| 36 | + |
| 37 | +## Test |
| 38 | + |
| 39 | +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. |
| 40 | + |
| 41 | +The configuration of a load test consists of: |
| 42 | + |
| 43 | +- The test name and description. |
| 44 | +- The Apache JMeter test script and related data and configuration files. For example, a [CSV data file](./how-to-read-csv-data.md). |
| 45 | +- [Environment variables](./how-to-parameterize-load-tests.md). |
| 46 | +- [Secret parameters](./how-to-parameterize-load-tests.md). |
| 47 | +- The number of [test engines](#test-engine) to run the test script on. |
| 48 | +- The [pass/fail criteria](./how-to-define-test-criteria.md) for the test. |
| 49 | +- The list of [app components and resource metrics to monitor](./how-to-monitor-server-side-metrics.md) during the test execution. |
| 50 | + |
| 51 | +When you run a test, a [test run](#test-run) instance is created. |
| 52 | + |
| 53 | +## Test engine |
| 54 | + |
| 55 | +A test engine is computing infrastructure, managed by Microsoft, that runs the Apache JMeter test script. You can [scale out your load test](./how-to-high-scale-load.md) by configuring the number of test engines. The test script runs in parallel across the specified number of test engines. |
| 56 | + |
| 57 | +The test engines are hosted in the same location as your Azure Load Testing resource. |
| 58 | + |
| 59 | +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](./how-to-find-download-logs.md). |
| 60 | + |
| 61 | +## Test run |
| 62 | + |
| 63 | +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](./reference-test-config-yaml.md), the list of [app components to monitor](./how-to-monitor-server-side-metrics.md), and the [results of the test](./how-to-export-test-results.md). |
| 64 | + |
| 65 | +During a test run, Azure Load Testing sends the Apache JMeter script to the specified number of [test engines](#test-engine). After the test run, the logs and test results are aggregated and collected from the test engines. |
| 66 | + |
| 67 | +You can [view and analyze the load test results in the Azure Load Testing dashboard](./tutorial-identify-bottlenecks-azure-portal.md) in the Azure portal. |
| 68 | + |
| 69 | +## App component |
| 70 | + |
| 71 | +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](./how-to-monitor-server-side-metrics.md). |
| 72 | + |
| 73 | +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](./resource-supported-azure-resource-types.md). |
| 74 | + |
| 75 | +## Metrics |
| 76 | + |
| 77 | +During a load test, Azure Load Testing collects metrics about the test execution. There are two types of metrics: |
| 78 | + |
| 79 | +- *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](./how-to-define-test-criteria.md) based on client-side metrics to specify when a test passes or fails. |
| 80 | + |
| 81 | +- *Server-side metrics* are available for Azure-hosted applications and provide information about your Azure [application components](#app-component). 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. |
| 82 | + |
| 83 | +## Next steps |
| 84 | + |
| 85 | +You now know the key concepts of Azure Load Testing to start creating a load test. |
| 86 | + |
| 87 | +- Learn how [Azure Load Testing works](./overview-what-is-azure-load-testing.md#how-does-azure-load-testing-work). |
| 88 | +- Learn how to [Create and run a load test for a website](./quickstart-create-and-run-load-test.md). |
| 89 | +- Learn how to [Identify a performance bottleneck in an Azure application](./tutorial-identify-bottlenecks-azure-portal.md). |
| 90 | +- Learn how to [Set up continuous regression testing with Azure Pipelines](./tutorial-cicd-azure-pipelines.md). |
0 commit comments