You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/load-testing/concept-load-testing-concepts.md
+10-4Lines changed: 10 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,16 +24,22 @@ A virtual user runs a particular test case against your server application and r
24
24
25
25
Apache JMeter also refers to virtual users as *threads*. In the JMeter test script, a *thread group* element lets you specify the pool of virtual users. Learn about [thread groups](https://jmeter.apache.org/usermanual/test_plan.html#thread_group) in the Apache JMeter documentation.
26
26
27
+
Locust refers to virtual users as *users*. You can specify the users needed for your test in the web interface, as a command line argument, through an environment variable or through a configuration file. Learn about [configuration options](https://docs.locust.io/en/stable/configuration.html) in the Locust documentation.
28
+
27
29
The total number of virtual users for your load test depends on the number of virtual users in the test script and the number of [test engine instances](#test-engine).
28
30
29
-
The formula is: Total virtual users = (virtual users in the JMX file) * (number of test engine instances).
31
+
For JMeter based load tests, the formula is: Total virtual users = (virtual users in the JMX file) * (number of test engine instances).
30
32
31
33
You can achieve the target number of virtual users by [configuring the number of test engine instances](./how-to-high-scale-load.md#test-engine-instances-and-virtual-users), the number of virtual users in the test script, or a combination of both.
32
34
35
+
For Locust based load tests, the total number of virtual users is the number of users specified through any of the configuration options. You can then [configure the number of test engine instances](./how-to-high-scale-load.md#test-engine-instances-and-virtual-users) required to generate the total number of users.
36
+
33
37
### Ramp-up time
34
38
35
39
The ramp-up time is the amount of time to get to the full number of [virtual users](#virtual-users) for the load test. If the number of virtual users is 20, and the ramp-up time is 120 seconds, then it takes 120 seconds to get to all 20 virtual users. Each virtual user will start 6 (120/20) seconds after the previous user was started.
36
40
41
+
For Locust, you can specify this using *spawn rate*. Spawn rate is the number of users added per second. If the number of users is 20 and the spawn rate is 2, 2 users will get added every second and it takes 10 seconds to get to all the 20 users.
42
+
37
43
### Response time
38
44
39
45
The response time of an individual request, or [elapsed time in JMeter](https://jmeter.apache.org/usermanual/glossary.html), is the total time from just before sending the request to just after the last response is received. The response time doesn't include the time to render the response. Any client code, such as JavaScript, isn't processed during the load test.
@@ -72,7 +78,7 @@ To run a load test for your application, you add a [test](#test) to your load te
72
78
73
79
You can use [Azure role-based access control](./how-to-assign-roles.md) to grant access to your load testing resource and related artifacts.
74
80
75
-
Azure Load Testing lets you [use managed identities](./how-to-use-a-managed-identity.md) to access Azure Key Vault for storing [load test secret parameters or certificates](./how-to-parameterize-load-tests.md). You can use either a user-assigned or system-assigned managed identity.
81
+
Azure Load Testing lets you [use managed identities](./how-to-use-a-managed-identity.md) to access Azure Key Vault for storing [load test secret parameters or certificates](./how-to-parameterize-load-tests.md), to access Azure monitor metrics for configuring failure criteria or to simulate managed identity based authentication flows. You can use either a user-assigned or system-assigned managed identity.
76
82
77
83
### Test
78
84
@@ -84,7 +90,7 @@ A test contains a test plan, which describes the steps to invoke the application
84
90
-[Upload a Locust test script](./quickstart-create-run-load-test-with-locust.md).
85
91
-[Specify the list of URL endpoints to test](./quickstart-create-and-run-load-test.md).
86
92
87
-
Azure Load Testing supports all communication protocols that JMeter supports, not only HTTP-based endpoints. For example, you might want to read from or write to a database or message queue in the test script.
93
+
Azure Load Testing supports all communication protocols that JMeter and Locust support, not only HTTP-based endpoints. For example, you might want to read from or write to a database or message queue in the test script.
88
94
89
95
Azure Load Testing currently does not support other testing frameworks than Apache JMeter and Locust.
90
96
@@ -134,7 +140,7 @@ During a load test, Azure Load Testing collects metrics about the test execution
134
140
135
141
-*Client-side metrics* are reported by the test engines. 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 test fail criteria](./how-to-define-test-criteria.md) based on these client-side metrics.
136
142
137
-
-*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.
143
+
-*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. You can [define test fail criteria](./how-to-define-test-criteria.md) based on these server-side metrics also.
Copy file name to clipboardExpand all lines: articles/load-testing/how-to-configure-customer-managed-keys.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,7 +25,7 @@ Azure Load Testing uses the customer-managed key to encrypt the following data i
25
25
- Environment variables
26
26
27
27
> [!NOTE]
28
-
> Azure Load Testing does not encrypt metrics data for a test run with your customer-managed key, including the JMeter metrics sampler names that you specify in the JMeter script. Microsoft has access to this metrics data.
28
+
> Azure Load Testing does not encrypt metrics data for a test run with your customer-managed key, including the JMeter metrics sampler names that you specify in the JMeter script and the request names that you specify in the Locust script. Microsoft has access to this metrics data.
Copy file name to clipboardExpand all lines: articles/load-testing/how-to-configure-load-test-cicd.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,13 +17,13 @@ You can automate a load test in Azure Load Testing by creating a CI/CD pipeline.
17
17
To add an existing load test to a CI/CD pipeline:
18
18
19
19
- Configure service authentication to allow the CI tool to connect to your Azure load testing resource.
20
-
- Add load test input files to your repository, such as the JMeter test script and the load test YAML configuration.
20
+
- Add load test input files to your repository, such as the test script and the load test YAML configuration.
21
21
- Update the CI/CD pipeline definition to invoke Azure Load Testing.
22
22
23
23
## Prerequisites
24
24
25
25
- An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
26
-
- An Azure Load Testing test. Create a [URL-based load test](./quickstart-create-and-run-load-test.md) or [use an existing JMeter script](./how-to-create-and-run-load-test-with-jmeter-script.md) to create a load test.
26
+
- An Azure Load Testing test. Create a [URL-based load test](./quickstart-create-and-run-load-test.md), use [an existing JMeter script](./how-to-create-and-run-load-test-with-jmeter-script.md) or [an existing Locust script](./quickstart-create-run-load-test-with-locust.md) to create a load test.
27
27
28
28
# [Azure Pipelines](#tab/pipelines)
29
29
- An Azure DevOps organization and project. If you don't have an Azure DevOps organization, you can [create one for free](/azure/devops/pipelines/get-started/pipelines-sign-up?view=azure-devops&preserve-view=true). If you need help with getting started with Azure Pipelines, see [Create your first pipeline](/azure/devops/pipelines/create-first-pipeline?preserve-view=true&view=azure-devops&tabs=java%2Ctfs-2018-2%2Cbrowser).
@@ -224,7 +224,7 @@ To run a load test with Azure Load Testing in a CI/CD workflow, you need to add
224
224
If you don't have an existing load test, add the following files to your source code repository:
225
225
226
226
- Load test configuration YAML file. Learn how you can create a [load test configuration YAML file](./reference-test-config-yaml.md).
227
-
- Test plan file. For JMeter-based tests, add a JMeter test script (`JMX` file). For URL-based tests, add a [requests JSON file](./reference-test-config-yaml.md#requests-json-file).
227
+
- Test plan file. For JMeter-based tests, add a JMeter test script (`JMX` file). For Locust-based tests, add a Locust test script (`.py` file). For URL-based tests, add a [requests JSON file](./reference-test-config-yaml.md#requests-json-file).
228
228
- Any [JMeter user properties files](./how-to-configure-user-properties.md).
229
229
- Any input data files that your test plan uses. For example, CSV data files.
230
230
@@ -247,7 +247,7 @@ If you have an existing load test, you can download the configuration settings a
247
247
The folder contains the following files:
248
248
249
249
- `config.yaml`: the load test YAML configuration file. You reference this file in the CI/CD workflow definition.
250
-
- `.jmx`: the JMeter test script
250
+
- `.jmx` or `.py`: The JMeter or Locust test script
251
251
- Any additional input files, such as CSV files or user properties files that are needed to run the load test.
252
252
253
253
1. Commit all extracted input files to your source control repository.
Copy file name to clipboardExpand all lines: articles/load-testing/how-to-create-manage-test-runs.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,12 +35,12 @@ Test runs are associated with a load test in Azure Load Testing. To view the tes
35
35
36
36
:::image type="content" source="media/how-to-create-manage-test-runs/test-run-context-menu.png" alt-text="Screenshot that shows the test run context menu in the Azure portal to download input files, results file, and share a link.":::
37
37
38
-
- Select **Download input file** to download all input files for running the test, such as the JMeter test script, input data files, and user property files. The download also contains the [load test configuration YAML file](./reference-test-config-yaml.md).
38
+
- Select **Download input file** to download all input files for running the test, such as the test script, input data files, and user property files. The download also contains the [load test configuration YAML file](./reference-test-config-yaml.md).
39
39
40
40
> [!TIP]
41
41
> You can use the downloaded test configuration YAML file for [setting up automated load testing in a CI/CD pipeline](./how-to-configure-load-test-cicd.md).
42
42
43
-
- Select **Download results file** to download the JMeter test results CSV file. This file contains an entry for each web request. Learn more about [exporting load test results](./how-to-export-test-results.md).
43
+
- Select **Download results file** to download the test results CSV file. This file contains an entry for each web request. Learn more about [exporting load test results](./how-to-export-test-results.md).
44
44
45
45
- Select **Share** to get a direct link to the test run dashboard in the Azure portal. To view the test run dashboard, you need to have access granted to the load testing resource. Learn more about [users and roles in Azure Load Testing](./how-to-assign-roles.md).
Copy file name to clipboardExpand all lines: articles/load-testing/how-to-create-manage-test.md
+12-12Lines changed: 12 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,7 +25,7 @@ Learn how to create and manage [load tests](./concept-load-testing-concepts.md#t
25
25
There are two options to create a load test in the Azure portal:
26
26
27
27
- Create a quick test by using a web application URL (URL-based test).
28
-
- Create a test by uploading a JMeter test script (JMX).
28
+
- Create a test by uploading a test script (JMX). You can upload a JMeter script or a Locust script.
29
29
30
30
:::image type="content" source="media/how-to-create-manage-test/create-test-dropdown.png" alt-text="Screenshot that shows the options to create a new test in the Azure portal.":::
31
31
@@ -46,9 +46,9 @@ To create a quick test in the Azure portal:
46
46
47
47
1. In the [Azure portal](https://portal.azure.com), and go to your load testing resource.
48
48
49
-
1. Select **Quick test** on the **Overview** page.
49
+
1. Select **Add HTTP requests** on the **Overview** page.
50
50
51
-
Alternately, select **Tests** in the left pane, select **+ Create**, and then select **Create a quick test**.
51
+
Alternately, select **Tests** in the left pane, select **+ Create**, and then select **Create a URL-based test**.
52
52
53
53
1. Enter the target URL and load parameters.
54
54
@@ -60,17 +60,17 @@ To create a quick test in the Azure portal:
60
60
61
61
After running a quick test, you can further [edit the load test configuration](#edit-a-test). For example, you can add app components to [monitor server-side metrics](./how-to-monitor-server-side-metrics.md), [configure high scale load](./how-to-high-scale-load.md), or to edit the generated JMeter script.
62
62
63
-
### Create a test by using a JMeter script
63
+
### Create a test by using a test script
64
64
65
-
To reuse an existing JMeter test script, or for more advanced test scenarios, create a test by uploading a JMX file. For example, to [read data from a CSV input file](./how-to-read-csv-data.md), or to [configure JMeter user properties](./how-to-configure-user-properties.md). For more information, see [Create a load test by using an existing JMeter script](./how-to-create-and-run-load-test-with-jmeter-script.md).
65
+
To reuse an existing JMeter or Locust test script, or for more advanced test scenarios, create a test by uploading the test script. For example, to [read data from a CSV input file](./how-to-read-csv-data.md), or to [configure JMeter user properties](./how-to-configure-user-properties.md). For more information, see [Create a load test by using an existing JMeter script](./how-to-create-and-run-load-test-with-jmeter-script.md) and [Create a load test with a Locust script](./quickstart-create-run-load-test-with-locust.md).
66
66
67
-
If you're not familiar with creating a JMeter script, see [Getting started with Apache JMeter](https://jmeter.apache.org/usermanual/get-started.html).
67
+
If you're not familiar with creating a JMeter script, see [Getting started with Apache JMeter](https://jmeter.apache.org/usermanual/get-started.html). To get started with Locust, see [Getting started with Locust](https://docs.locust.io/en/stable/quickstart.html)
68
68
69
69
1. In the [Azure portal](https://portal.azure.com), and go to your load testing resource.
70
70
71
71
1. Select **Create** on the **Overview** page.
72
72
73
-
Alternately, select **Tests** in the left pane, select **+ Create**, and then select **Upload a JMeter script**.
73
+
Alternately, select **Tests** in the left pane, select **+ Create**, and then select **Upload scripts**.
74
74
75
75
1. On the **Basics** page, enter the basic test information.
76
76
@@ -80,7 +80,7 @@ If you're not familiar with creating a JMeter script, see [Getting started with
80
80
81
81
#### Test plan
82
82
83
-
The test plan contains all files that are needed for running your load test. At a minimum, the test plan should contain one `*.jmx` JMeter script. Azure Load Testing only supports one JMX file per load test.
83
+
The test plan contains all files that are needed for running your load test. At a minimum, the test plan should contain one `*.jmx` JMeter script or one `.py` Locust script.
84
84
85
85
Alongside the test script, you can upload a user property file, configuration files, or input data files, such as CSV files.
86
86
@@ -90,7 +90,7 @@ Alongside the test script, you can upload a user property file, configuration fi
90
90
91
91
:::image type="content" source="media/how-to-create-manage-test/test-plan-upload-files.png" alt-text="Screenshot that shows the test plan page for creating a test in the Azure portal, highlighting the upload functionality.":::
92
92
93
-
Azure Load Testing stores all files in a single repository. If your test script references configuration or data files, make sure to remove any relative path names in the JMX file.
93
+
Azure Load Testing stores all files in a single repository. If your test script references configuration or data files, make sure to remove any relative path names in the test script.
94
94
95
95
1. If your test uses CSV input data, you can choose to enable **Split CSV evenly between test engines**.
96
96
@@ -105,7 +105,7 @@ Alongside the test script, you can upload a user property file, configuration fi
105
105
106
106
#### Parameters
107
107
108
-
You can use parameters to make your test plan configurable instead of hard-coding values in the JMeter script. Specify key-value pairs in the load test configuration, and reference the value in the JMeter script by using the parameter name. For more information, see [Parameterize a load test with environment variables and secrets](./how-to-parameterize-load-tests.md).
108
+
You can use parameters to make your test plan configurable instead of hard-coding values in the test script. Specify key-value pairs in the load test configuration, and reference the value in the test script by using the parameter name. For more information, see [Parameterize a load test with environment variables and secrets](./how-to-parameterize-load-tests.md).
109
109
110
110
:::image type="content" source="media/how-to-create-manage-test/configure-parameters.png" alt-text="Screenshot that shows how to configure parameters when creating a test in the Azure portal.":::
111
111
@@ -133,7 +133,7 @@ You can use parameters to make your test plan configurable instead of hard-codin
133
133
134
134
1. Specify the number of test engine instances.
135
135
136
-
Azure Load Testing automatically scales your load test across all instances. The JMeter test script is run in parallel across all instances. The total number of simulated users equals the number of virtual users (threads) you specify in the JMeter script, multiplied by the number of test engine instances. For more information, see [Configure a test for high-scale load](./how-to-high-scale-load.md).
136
+
Azure Load Testing automatically scales your load test across all instances. The JMeter test script is run in parallel across all instances. The total number of simulated users equals the number of virtual users (threads) you specify in the JMeter script, multiplied by the number of test engine instances. For Locust-based tests, specify the total users required in the load configuration in Azure Load Testing, in the test script, or in the Locust configuration file and select the engine instances required to generate the load. For more information, see [Configure a test for high-scale load](./how-to-high-scale-load.md).
137
137
138
138
1. Configure virtual network connectivity.
139
139
@@ -155,7 +155,7 @@ You can use parameters to make your test plan configurable instead of hard-codin
155
155
- Latency
156
156
- Error percentage
157
157
158
-
You can specify fail criteria for the entire load test, or assign them to specific requests in the JMeter script. For example, to validate that the home page response time doesn't exceed a specific response time. For more information, see [Configure test fail criteria](./how-to-define-test-criteria.md).
158
+
You can specify fail criteria for the entire load test, or assign them to specific requests in the test script. For example, to validate that the home page response time doesn't exceed a specific response time. For more information, see [Configure test fail criteria](./how-to-define-test-criteria.md).
0 commit comments