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
+32-24Lines changed: 32 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,13 +6,13 @@ ms.service: load-testing
6
6
author: ntrogh
7
7
ms.author: nicktrog
8
8
ms.topic: conceptual
9
-
ms.date: 11/03/2022
9
+
ms.date: 11/24/2023
10
10
ms.custom: template-concept
11
11
---
12
12
13
13
# Key concepts for new Azure Load Testing users
14
14
15
-
Learn about the key concepts and components of Azure Load Testing. This can help you to more effectively set up a load test to identify performance issues in your application.
15
+
Learn about the key concepts and components of Azure Load Testing. This information can help you to more effectively set up a load test to identify performance issues in your application.
16
16
17
17
## General concepts of load testing
18
18
@@ -32,15 +32,15 @@ You can achieve the target number of virtual users by [configuring the number of
32
32
33
33
### Ramp-up time
34
34
35
-
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 will take 120 seconds to get to all 20 virtual users. Each virtual user will start 6 (120/20) seconds after the previous user was started.
35
+
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
36
37
37
### Response time
38
38
39
-
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 has been 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.
39
+
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.
40
40
41
41
### Latency
42
42
43
-
The latency of an individual request is the total time from just before sending the request to just after the first response has been received. Latency includes all the processing needed to assemble the request and assembling the first part of the response.
43
+
The latency of an individual request is the total time from just before sending the request to just after the first response is received. Latency includes all the processing needed to assemble the request and assembling the first part of the response.
44
44
45
45
### Requests per second (RPS)
46
46
@@ -54,11 +54,13 @@ Another way to calculate the RPS is based on the average application's [latency]
54
54
55
55
The formula is: Virtual users = (RPS) * (latency in seconds).
56
56
57
-
For example, given an application latency of 20 milliseconds (0.02 second), to simulate 100,000 RPS, you should configure the load test with 2,000 virtual users (100,000 * 0.02).
57
+
For example, given an application latency of 20 milliseconds (0.02 seconds), to simulate 100,000 RPS, you should configure the load test with 2,000 virtual users (100,000 * 0.02).
58
58
59
59
## Azure Load Testing components
60
60
61
-
Learn about the key concepts and components of Azure Load Testing.
61
+
Learn about the key concepts and components of Azure Load Testing. The following diagram gives an overview of how the different concepts relate to one another.
62
+
63
+
:::image type="content" source="./media/concept-load-testing-concepts/azure-load-testing-concepts.png" alt-text="Diagram that shows how the different concepts in Azure Load Testing relate to one another." lightbox="./media/concept-load-testing-concepts/azure-load-testing-concepts-large.png":::
62
64
63
65
### Load testing resource
64
66
@@ -70,16 +72,18 @@ To run a load test for your application, you add a [test](#test) to your load te
70
72
71
73
You can use [Azure role-based access control](./how-to-assign-roles.md) to grant access to your load testing resource and related artifacts.
72
74
73
-
Azure Load Testing lets you [use managed identities](./how-to-use-a-managed-identity.md) to access other Azure resources, such as Azure Key Vault for storing [load test secret parameters](./how-to-parameterize-load-tests.md). You can use either a user-assigned or system-assigned managed identity.
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.
74
76
75
77
### Test
76
78
77
-
A test represents a load test for your application. A test is attached to an Azure load testing resource. You can create a test in either of two ways:
79
+
A test describes the load test configuration for your application. You add a test to an existing Azure load testing resource.
80
+
81
+
A test contains a test plan, which describes the steps to invoke the application endpoint. You can define the test plan in either of two ways:
78
82
79
-
-Create a [test based on an existing JMeter script](./how-to-create-and-run-load-test-with-jmeter-script.md).
80
-
-Create a [URL-based load test](./quickstart-create-and-run-load-test.md) (quick test). Azure Load Testing automatically generates the corresponding JMeter script, which you can modify at any time.
83
+
-[Upload a JMeter test script](./how-to-create-and-run-load-test-with-jmeter-script.md).
84
+
-[Specify the list of URL endpoints to test](./quickstart-create-and-run-load-test.md).
81
85
82
-
A test contains a JMeter test script, or *test plan*, and related data and configuration files. 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.
86
+
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.
83
87
84
88
The test also specifies the configuration settings for running the load test:
85
89
@@ -88,34 +92,38 @@ The test also specifies the configuration settings for running the load test:
88
92
-[Fail criteria](./how-to-define-test-criteria.md) to determine when the test should pass or fail.
89
93
- Monitoring settings to configure the list of [Azure app components and resource metrics to monitor](./how-to-monitor-server-side-metrics.md) during the test run.
90
94
91
-
When you start a test, Azure Load Testing deploys the JMeter test script, related files, and configuration to the requested test engine instances. The test engine instances then initiate the JMeter test script to simulate the application load.
95
+
In addition, you can upload CSV input data files and JMeter configuration files to the test.
96
+
97
+
When you start a test, Azure Load Testing deploys the JMeter test script, related files, and configuration to the test engine instances. The test engine instances then initiate the JMeter test script to simulate the application load.
92
98
93
99
Each time you start a test, Azure Load Testing creates a [test run](#test-run) and attaches it to the test.
94
100
95
-
### Test engine
101
+
### Test run
96
102
97
-
A test engine is computing infrastructure, managed by Microsoft that runs the Apache JMeter test script. The test engine instances run the JMeter script in parallel. You can [scale out your load test](./how-to-high-scale-load.md) by configuring the number of test engine instances. Learn how to configure the number of [virtual users](#virtual-users), or simulate a target number of [requests per second](#requests-per-second-rps).
103
+
A test run represents one execution of a load test. When you run a test, the test run contains a copy of the configuration settings from the associated test.
98
104
99
-
The test engines are hosted in the same location as your Azure Load Testing resource. You can configure the Azure region when you create the Azure load testing resource.
105
+
After the test run completes, 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.
100
106
101
-
While the test script runs, Azure Load Testing collects and aggregates the Apache JMeter worker logs from all test engine instances. You can [download the logsfor analyzing errors during the load test](./how-to-diagnose-failing-load-test.md).
107
+
Alternately, you can [download the test logs](./how-to-diagnose-failing-load-test.md#download-apache-jmeter-worker-logs-for-your-load-test) and [export the test results file](./how-to-export-test-results.md).
102
108
103
-
### Test run
109
+
> [!IMPORTANT]
110
+
> When you update a test, the existing test runs don't automatically inherit the new settings from the test. The new settings are only used by new test runs when you run the *test*. If you rerun an existing *test run*, the original settings of the test run are used.
111
+
112
+
### Test engine
104
113
105
-
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).
114
+
A test engine is computing infrastructure, managed by Microsoft that runs the Apache JMeter test script. The test engine instances run the JMeter script in parallel. You can [scale out your load test](./how-to-high-scale-load.md) by configuring the number of test engine instances. Learn how to configure the number of [virtual users](#virtual-users), or simulate a target number of [requests per second](#requests-per-second-rps).
106
115
107
-
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.
116
+
The test engines are hosted in the same location as your Azure Load Testing resource. You can configure the Azure region when you create the Azure load testing resource.
108
117
109
-
> [!IMPORTANT]
110
-
> Existing test runs don't use the new settings when you update a test. When you rerun an existing test run, the initial configuration of the test run is used. The new settings will only be used when you run the test.
118
+
While the test script runs, Azure Load Testing collects and aggregates the Apache JMeter worker logs from all test engine instances. You can [download the logs for analyzing errors during the load test](./how-to-diagnose-failing-load-test.md).
111
119
112
120
### App component
113
121
114
122
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).
115
123
116
124
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.
117
125
118
-
Learn more about which [Azure resource types are supported by Azure Load Testing](./resource-supported-azure-resource-types.md).
126
+
Learn more about which [Azure resource types that Azure Load Testing supports](./resource-supported-azure-resource-types.md).
119
127
120
128
### Metrics
121
129
@@ -125,7 +133,7 @@ During a load test, Azure Load Testing collects metrics about the test execution
125
133
126
134
-*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.
127
135
128
-
## Next steps
136
+
## Related content
129
137
130
138
You now know the key concepts of Azure Load Testing to start creating a load test.
Copy file name to clipboardExpand all lines: articles/load-testing/how-to-assign-roles.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ ms.author: nicktrog
6
6
services: load-testing
7
7
ms.service: load-testing
8
8
ms.topic: how-to
9
-
ms.date: 11/07/2022
9
+
ms.date: 11/24/2023
10
10
ms.custom: template-how-to
11
11
---
12
12
@@ -32,7 +32,7 @@ In Azure Load Testing, access is granted by assigning the appropriate Azure role
32
32
33
33
If you have the **Owner**, **Contributor**, or **Load Test Owner** role at the subscription level, you automatically have the same permissions as the **Load Test Owner** at the resource level.
34
34
35
-
You'll encounter this message if your account doesn't have the necessary permissions to manage tests.
35
+
You encounter this message if your account doesn't have the necessary permissions to manage tests.
36
36
37
37
:::image type="content" source="media/how-to-assign-roles/azure-load-testing-not-authorized.png" lightbox="media/how-to-assign-roles/azure-load-testing-not-authorized.png" alt-text="Screenshot that shows an error message in the Azure portal that you're not authorized to use the Azure Load Testing resource.":::
38
38
@@ -41,7 +41,7 @@ You'll encounter this message if your account doesn't have the necessary permiss
41
41
42
42
## Role permissions
43
43
44
-
The following tables describe the specific permissions given to each role. This can include Actions, which give permissions, and Not Actions, which restrict them.
44
+
The following tables describe the specific permissions given to each role. These permissions can include *Actions*, which give permissions, and *Not Actions*, which restrict them.
45
45
46
46
### Load Test Owner
47
47
@@ -125,7 +125,7 @@ You can also configure role-based access to a load testing resource using the fo
125
125
Get-AzRoleDefinition -Name 'Load Test Contributor'
126
126
```
127
127
128
-
The following is the example output:
128
+
The following snippet is the example output:
129
129
130
130
```output
131
131
Name : Load Test Contributor
@@ -139,7 +139,7 @@ You can also configure role-based access to a load testing resource using the fo
139
139
AssignableScopes : {/}
140
140
```
141
141
142
-
* [Get-AzRoleAssignment](/powershell/module/az.resources/get-azroleassignment) lists Azure role assignments at the specified scope. Without any parameters, this cmdlet returns all the role assignments made under the subscription. Use the `ExpandPrincipalGroups` parameter to list access assignments for the specified user, as well as the groups that the user belongs to.
142
+
* [Get-AzRoleAssignment](/powershell/module/az.resources/get-azroleassignment) lists Azure role assignments at the specified scope. Without any parameters, this cmdlet returns all the role assignments made under the subscription. Use the `ExpandPrincipalGroups` parameter to list access assignments for the specified user, and the groups that the user belongs to.
143
143
144
144
**Example**: Use the following cmdlet to list all the users and their roles within a load testing resource.
145
145
@@ -163,7 +163,7 @@ You can also configure role-based access to a load testing resource using the fo
163
163
Remove-AzRoleAssignment -SignInName <sign-in Id of a user you wish to remove> -RoleDefinitionName 'Load Test Reader' -Scope '/subscriptions/<SubscriptionID>/resourcegroups/<Resource Group Name>/Providers/Microsoft.LoadTestService/loadtests/<Load Testing resource name>'
164
164
```
165
165
166
-
## Next steps
166
+
## Related content
167
167
168
168
* Learn more about [Using managed identities](./how-to-use-a-managed-identity.md).
169
169
* Learn more about [Identifying performance bottlenecks (tutorial)](./tutorial-identify-bottlenecks-azure-portal.md).
0 commit comments