Skip to content

Commit 9289bbf

Browse files
Merge pull request #193388 from ntrogh/alt-concept
[Azure Load Testing] Added conceptual article for explaining key concepts
2 parents bb8d04a + 44f25d1 commit 9289bbf

7 files changed

+105
-1
lines changed
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
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).

articles/load-testing/overview-what-is-azure-load-testing.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ adobe-target: true
1414

1515
Azure Load Testing Preview is a fully managed load-testing service that enables you to generate high-scale load. The service simulates traffic for your applications, regardless of where they're hosted. Developers, testers, and quality assurance (QA) engineers can use it to optimize application performance, scalability, or capacity.
1616

17-
You can create a load test by using existing test scripts based on Apache JMeter, a popular open-source load and performance tool. For Azure-based applications, detailed resource metrics help you identify performance bottlenecks. Continuous integration and continuous deployment (CI/CD) workflows allow you to automate regression testing.
17+
You can create a load test by using existing test scripts based on Apache JMeter, a popular open-source load and performance tool. For Azure-based applications, detailed resource metrics help you identify performance bottlenecks. Continuous integration and continuous deployment (CI/CD) workflows allow you to automate regression testing. Learn more about the [key concepts for Azure Load Testing](./concept-load-testing-concepts.md).
1818

1919
> [!IMPORTANT]
2020
> 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/).
@@ -65,3 +65,4 @@ You can trigger Azure Load Testing from Azure Pipelines or GitHub Actions workfl
6565
Start using Azure Load Testing:
6666
- [Tutorial: Use a load test to identify performance bottlenecks](./tutorial-identify-bottlenecks-azure-portal.md)
6767
- [Tutorial: Set up automated load testing](./tutorial-cicd-azure-pipelines.md)
68+
- Learn about the [key concepts for Azure Load Testing](./concept-load-testing-concepts.md).

articles/load-testing/quickstart-create-and-run-load-test.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ This quickstart describes how to create an Azure Load Testing Preview resource b
1717

1818
After you complete this quickstart, you'll have a resource and load test that you can use for other tutorials.
1919

20+
Learn more about the [key concepts for Azure Load Testing](./concept-load-testing-concepts.md).
21+
2022
> [!IMPORTANT]
2123
> 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/).
2224

articles/load-testing/toc.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@
2323
href: tutorial-cicd-github-actions.md
2424
- name: Automate with Azure Pipelines
2525
href: tutorial-cicd-azure-pipelines.md
26+
- name: Concepts
27+
expanded: true
28+
items:
29+
- name: Key concepts
30+
href: concept-load-testing-concepts.md
2631
- name: How-tos
2732
expanded: true
2833
items:

articles/load-testing/tutorial-cicd-azure-pipelines.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ You'll deploy a sample Node.js web app on Azure App Service. The web app uses Az
1919

2020
If you're using GitHub Actions for your CI/CD workflows, see the corresponding [GitHub Actions tutorial](./tutorial-cicd-github-actions.md).
2121

22+
Learn more about the [key concepts for Azure Load Testing](./concept-load-testing-concepts.md).
23+
2224
You'll learn how to:
2325

2426
> [!div class="checklist"]

articles/load-testing/tutorial-cicd-github-actions.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ You'll deploy a sample Node.js web app on Azure App Service. The web app uses Az
1919

2020
If you're using Azure Pipelines for your CI/CD workflows, see the corresponding [Azure Pipelines tutorial](./tutorial-cicd-azure-pipelines.md).
2121

22+
Learn more about the [key concepts for Azure Load Testing](./concept-load-testing-concepts.md).
23+
2224
You'll learn how to:
2325

2426
> [!div class="checklist"]

articles/load-testing/tutorial-identify-bottlenecks-azure-portal.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ In this tutorial, you'll learn how to identify performance bottlenecks in a web
1717

1818
The sample application consists of a Node.js web API, which interacts with a NoSQL database. You'll deploy the web API to Azure App Service web apps and use Azure Cosmos DB as the database.
1919

20+
Learn more about the [key concepts for Azure Load Testing](./concept-load-testing-concepts.md).
21+
2022
In this tutorial, you'll learn how to:
2123

2224
> [!div class="checklist"]

0 commit comments

Comments
 (0)