Skip to content

Commit 5ba0aec

Browse files
authored
Merge pull request #188881 from ntrogh/alt-compare
Restructured Compare load tests for content perf
2 parents 844c37f + f68959b commit 5ba0aec

File tree

6 files changed

+48
-39
lines changed

6 files changed

+48
-39
lines changed
Lines changed: 48 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,24 @@
11
---
2-
title: Compare load testing runs to find regressions
2+
title: Compare load test runs to find regressions
33
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.'
55
services: load-testing
66
ms.service: load-testing
77
ms.author: nicktrog
88
author: ntrogh
9-
ms.date: 11/30/2021
9+
ms.date: 02/16/2022
1010
ms.topic: how-to
1111

1212
---
1313

14-
# Identify performance regressions by comparing load test runs
14+
# Identify performance regressions by comparing test runs in Azure Load Testing Preview
1515

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.
1717

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:
1919

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.
2622

2723
> [!IMPORTANT]
2824
> 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:
3329

3430
- 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).
3531

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.
4035

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:
4239

4340
1. Sign in to the [Azure portal](https://portal.azure.com) by using the credentials for your Azure subscription.
4441

@@ -48,49 +45,61 @@ In this section, you'll compare multiple results by selecting runs from the test
4845

4946
You can also use the filters to find your load test.
5047

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.
5249

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.
5451

5552
:::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.":::
5653

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.
5959

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.
6163

6264
:::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.":::
6365

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.":::
6569

6670
> [!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.
6872
69-
## Compare test runs from the run details page
73+
## Identify performance regressions
7074

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.
7276

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:
7478

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 compare the values across the different test runs.
7680

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.
7882

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.":::
8084

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.
8386

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.":::
8588

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
8790

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.
8992

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.
9194

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**.
9396

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
95102

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).
20.2 KB
Loading
120 KB
Loading
42.1 KB
Loading
161 KB
Loading
-229 Bytes
Loading

0 commit comments

Comments
 (0)