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
title: Compare load testing runs to find regressions
2
+
title: Compare load test runs to find regressions
3
3
titleSuffix: Azure Load Testing
4
-
description: 'Learn how you can visually compare multiple test runs with Azure Load Testing to better understand performance regressions.'
4
+
description: 'Learn how you can visually compare multiple test runs with Azure Load Testing to identify and analyze performance regressions.'
5
5
services: load-testing
6
6
ms.service: load-testing
7
7
ms.author: nicktrog
8
8
author: ntrogh
9
-
ms.date: 11/30/2021
9
+
ms.date: 02/16/2022
10
10
ms.topic: how-to
11
11
12
12
---
13
13
14
-
# Identify performance regressions by comparing load test runs
14
+
# Identify performance regressions by comparing test runs in Azure Load Testing Preview
15
15
16
-
In this article, you'll learn how to identify performance regressions by visually comparing multiple load test runs in the Azure Load Testing Preview dashboard.
16
+
In this article, you'll learn how you can identify performance regressions by comparing test runs in the Azure Load Testing Preview dashboard. The dashboard overlays the client-side and server-side metric graphs for each run, which allows you to quickly analyze performance issues.
17
17
18
-
A test run contains client-side and server-side metrics. The test engine reports client-side metrics, such as the number of virtual users. The server-side metrics provide application- and resource-specific information.
18
+
You can compare load test runs for the following scenarios:
19
19
20
-
By overlaying multiple metrics charts, you can more easily pinpoint performance changes and identify which application component is causing problems.
21
-
22
-
There are two entry points for comparing load test runs in the Azure portal:
23
-
24
-
- Starting from the test runs page, select multiple results to compare.
25
-
- Starting from a specific test run, select other results to compare the runs with.
20
+
-[Identify performance regressions](#identify-performance-regressions) between application builds or configurations. You could run a load test at each development sprint to ensure that the previous sprint didn't introduce performance issues.
21
+
-[Identify which application component is responsible](#identify-the-performance-issue-root-cause) for a performance problem (root cause analysis). For example, an application redesign might result in slower application response times. Comparing load test runs might reveal that the root cause was a lack of database resources.
26
22
27
23
> [!IMPORTANT]
28
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/).
@@ -33,12 +29,13 @@ There are two entry points for comparing load test runs in the Azure portal:
33
29
34
30
- An Azure Load Testing resource with a test plan that has multiple test runs. To create a Load Testing resource, see [Create and run a load test](./quickstart-create-and-run-load-test.md).
35
31
36
-
> [!NOTE]
37
-
> If you want to compare a test run, it needs to be in a *Done*, *Stopped*, or *Failed* state.
38
-
39
-
## Compare test runs from the test runs page
32
+
## Select test runs
33
+
34
+
To compare test runs in Azure Load Testing, you'll first have to select up to five runs within a load test. You can only compare runs that belong to the same load test.
40
35
41
-
In this section, you'll compare multiple results by selecting runs from the test runs page.
36
+
A test run needs to be in the *Done*, *Stopped*, or *Failed* state to compare it.
37
+
38
+
Use the following steps to select the test runs:
42
39
43
40
1. Sign in to the [Azure portal](https://portal.azure.com) by using the credentials for your Azure subscription.
44
41
@@ -48,49 +45,61 @@ In this section, you'll compare multiple results by selecting runs from the test
48
45
49
46
You can also use the filters to find your load test.
50
47
51
-
1.In the list of tests, select the test whose runs you want to compare.
48
+
1.Select the test whose runs you want to compare by selecting its name.
52
49
53
-
1. Select two or more test runs, and then select **Compare**.
50
+
1. Select two or more test runs by selecting the corresponding checkboxes in the list.
54
51
55
52
:::image type="content" source="media/how-to-compare-multiple-test-runs/compare-test-results-from-list.png" alt-text="Screenshot that shows a list of test runs and the 'Compare' button.":::
56
53
57
-
> [!NOTE]
58
-
> You can choose a maximum of five test runs to compare.
54
+
You can choose a maximum of five test runs to compare.
55
+
56
+
## Compare multiple test runs
57
+
58
+
After you've selected the test runs you want to compare, you can visually compare the client-side and server-side metrics for each test run in the load test dashboard.
59
59
60
-
The selected test runs are presented in the dashboard. Each run is shown as an overlay in the different charts.
60
+
1. Select the **Compare** button to open the load test dashboard.
61
+
62
+
Each test run is shown as an overlay in the different graphs.
61
63
62
64
:::image type="content" source="media/how-to-compare-multiple-test-runs/compare-screen.png" alt-text="Screenshot of the 'Compare' page, displaying a comparison of two test runs.":::
63
65
64
-
You can use filters to customize the graphs. There are separate filters for the client and server metrics.
66
+
1. Optionally, use the filters to customize the graphs.
67
+
68
+
:::image type="content" source="media/how-to-compare-multiple-test-runs/compare-client-side-filters.png" alt-text="Screenshot of the client-side filter controls on the load test dashboard.":::
65
69
66
70
> [!TIP]
67
-
> The time filter is based on the relative duration of the tests. A value of zero indicates the beginning of the test, and the maximum value marks the duration of the longest test run. For client-side metrics, test runs show only data for the duration of the test.
71
+
> The time filter is based on the duration of the tests. A value of zero indicates the start of the test, and the maximum value marks the duration of the longest test run.
68
72
69
-
## Compare test runs from the run details page
73
+
## Identify performance regressions
70
74
71
-
In this section, you'll use the test run details page and add other test runs to compare.
75
+
You can compare multiple test runs to identify performance regressions. For example, before deploying a new application version in production, you can verify that the performance hasn't degraded.
72
76
73
-
1. Go to the test run details page, and then select **Compare**.
77
+
Use the client-side metrics, such as requests per second or response time, on the load test dashboard to quickly spot performance changes between different load test runs:
74
78
75
-
:::image type="content" source="media/how-to-compare-multiple-test-runs/test-run-details.png" alt-text="Screenshot of the 'Test run details' page, displaying the 'Compare' button.":::
79
+
1. Hover over the client-side metrics graphs to comparethe values across the different test runs.
76
80
77
-
1. On the **Compare**page, select two or more test runs that you want to compare.
81
+
In the following screenshot, you notice that the metric values for **Requests per second**and **Response Time** are significantly different. This difference indicates that the application performance dropped significantly between the two test runs.
78
82
79
-
:::image type="content" source="media/how-to-compare-multiple-test-runs/choose-runs-to-compare.png" alt-text="Screenshot of the 'Compare' page, displaying test runs to be compared.":::
83
+
:::image type="content" source="media/how-to-compare-multiple-test-runs/compare-client-side-metrics.png" alt-text="Screenshot of the client-side metrics, highlighting the difference in requests per second and response time.":::
80
84
81
-
> [!NOTE]
82
-
> You can choose a maximum of five test runs to compare.
85
+
1. Optionally, use the **Requests** filter to compare a specific application request in the JMeter script.
83
86
84
-
1. Select **Compare**.
87
+
:::image type="content" source="media/how-to-compare-multiple-test-runs/compare-client-side-requests-filter.png" alt-text="Screenshot of the client-side 'requests' filter, which allows you to filter specific application requests.":::
85
88
86
-
The selected test runs are presented in the dashboard. Each run is shown as an overlay in the different charts.
89
+
## Identify the performance issue root cause
87
90
88
-
:::image type="content" source="media/how-to-compare-multiple-test-runs/compare-screen.png" alt-text="Screenshot of the 'Compare' page, displaying a comparison of two test runs.":::
91
+
When there's a performance issue, you can use the server-side metrics to analyze what the root cause of the problem is. Azure Load Testing can [capture server-side resource metrics](./how-to-update-rerun-test.md) for Azure-hosted applications.
89
92
90
-
You can use filters to customize the graphs. There are separate filters for the client and server metrics.
93
+
1. Hover over the server-side metrics graphs to compare the values across the different test runs.
91
94
92
-
## Next steps
95
+
In the following screenshot, you notice from the **Response time** and **Requests** that the application performance has degraded. You can also see that for one test run, the database **RU Consumption** peeks at 100%. This indicates that the root cause is likely the database **Provisioned Throughput**.
93
96
94
-
- For information about high-scale load tests, see [Set up a high-scale load test](./how-to-high-scale-load.md).
97
+
:::image type="content" source="media/how-to-compare-multiple-test-runs/compare-server-side-metrics.png" alt-text="Screenshot of the server-side metrics, highlighting the difference in database resource consumption and provisioning throughput.":::
98
+
99
+
1. Optionally, use the **Resource** filter to hide or show specific Azure application component metric graphs.
100
+
101
+
## Next steps
95
102
96
-
- To learn about performance test automation, see [Configure automated performance testing](./tutorial-cicd-azure-pipelines.md).
103
+
- Learn more about [exporting the load test results for reporting](./how-to-export-test-results.md).
104
+
- Learn more about [troubleshooting load test execution errors](./how-to-find-download-logs.md).
105
+
- Learn more about [configuring automated performance testing with Azure Pipelines](./tutorial-cicd-azure-pipelines.md).
0 commit comments