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
{{ message }}
This repository was archived by the owner on Jan 21, 2026. It is now read-only.
Copy file name to clipboardExpand all lines: Instructions/Labs/AZ400_M08_L14_Monitor_Application_Performance_with_Azure_Load_Testing.md
+22-15Lines changed: 22 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ After you complete this lab, you will be able to:
34
34
- Investigate Azure web app performance by using Azure Load Testing.
35
35
- Integrate Azure Load Testing into your CI/CD pipelines.
36
36
37
-
## Estimated timing: 60 minutes
37
+
## Estimated timing: 90 minutes
38
38
39
39
## Instructions
40
40
@@ -79,7 +79,7 @@ In this task, you will create an Azure web app by using the cloud shell in Azure
79
79
1. In the Azure portal, in the toolbar, click the **Cloud Shell** icon located directly to the right of the search text box.
80
80
1. If prompted to select either **Bash** or **PowerShell**, select **Bash**.
81
81
82
-
> **Note**: If this is the first time you are starting **Cloud Shell** and you are presented with the **You have no storage mounted** message, select the subscription you are using in this lab, and select **Create storage**.
82
+
> **Note**: If this is the first time you are starting **Cloud Shell** and you are presented with the **You have no storage mounted** message, select the subscription you are using in this lab, and select **Apply**.
83
83
84
84
1. From the **Bash** prompt, in the **Cloud Shell** pane, run the following command to create a resource group (replace the `<region>` placeholder with the name of the Azure region closest to you such as 'eastus').
85
85
@@ -97,6 +97,8 @@ In this task, you will create an Azure web app by using the cloud shell in Azure
97
97
--name $SERVICEPLANNAME --sku B3
98
98
```
99
99
100
+
> **Note**: If you encounter an error about Microsoft.Web not being registered, you may need to register the Microsoft.Web resource provider by running: `az provider register --namespace Microsoft.Web`
101
+
100
102
1. Create a web app with a unique name.
101
103
102
104
```bash
@@ -216,7 +218,7 @@ In this task, you will add a YAML build definition to the existing project.
216
218
217
219
> **Note**: The **packageForLinux** parameter is misleading in the context of this lab, but it is valid for Windows or Linux.
218
220
219
-
1. Before saving the updates to the yml-file, give it a more clear name. On top of the yaml-editor window, it shows **EShopOnweb/azure-pipelines-#.yml**. (where # is a number, typically 1 but could be different in your setup.) Select **that filename**, and rename it to **m08l14-pipeline.yml**
221
+
1. Before saving the updates to the yml-file, give it a more clear name. On top of the yaml-editor window, it shows **EShopOnweb/azure-pipelines-#.yml**. (where # is a number, typically 1 but could be different in your setup.) Select **that filename**, **enable text typing if needed**, and rename it to **m08l14-pipeline.yml**
220
222
221
223
1. Click **Save**, on the **Save** pane, click **Save** again to commit the change directly into the main branch.
222
224
@@ -289,6 +291,7 @@ In this task, you will create different Azure Load Testing tests, using differen
289
291
1. Uncheck the **Enable advanced settings** checkbox, to display the advanced settings.
290
292
1. Complete the following parameters and settings to create a load test:
291
293
294
+
- **Test Name**: `Get_eshoponweb########` (replace ######## with a unique identifier)
292
295
- **Test URL**: Enter the URL from the Azure App Service you deployed in the previous exercise (az400eshoponweb...azurewebsites.net), **including https://**
293
296
- **Specify Load**: Virtual Users
294
297
- **Number of Virtual Users**: 50
@@ -317,7 +320,7 @@ In this task, you will validate the outcome of an Azure Load Testing TestRun.
317
320
318
321
With both quick tests complete, let's make a few changes to them, and validate the results.
319
322
320
-
1. From **Azure Load Testing**, navigate to **Tests**. Select either of the test definitions, to open a more detailed view, by **clicking** on one of the tests. This redirects you to the more detailed test page. From here, you can validate the details of the actual runs, by selecting the **TestRun_mm/dd/yy-hh:hh** from the resulting list.
323
+
1. From **Azure Load Testing**, navigate to **Tests**. Select either of the test definitions, to open a more detailed view, by **clicking** on one of the tests. This redirects you to the more detailed test page. From here, you can validate the details of the actual runs, by selecting the **TestRun mm/dd/yy-hh:mm** from the resulting list.
321
324
1. From the detailed **TestRun** page, identify the actual outcome of the Azure Load Testing simulation. Some of the values are:
322
325
323
326
- Load / Total Requests
@@ -371,13 +374,15 @@ Perform the following steps to download the input files for an existing load tes
371
374
- _config.yaml_: the load test YAML configuration file. You reference this file in the CI/CD workflow definition.
372
375
- _quick_test.jmx_: the JMeter test script
373
376
374
-
1. Commit all extracted input files to your source control repository. To do this, navigate to the **Azure DevOps Portal**(<https://aex.dev.azure.com/>), and navigate to the **eShopOnWeb** DevOps Project.
377
+
#### Task 3a: Commit all extracted input files to your source control repository
378
+
379
+
1. Navigate to the **Azure DevOps Portal**(<https://aex.dev.azure.com/>), and navigate to the **eShopOnWeb** DevOps Project.
375
380
1. Select **Repos**. In the source code folder structure, notice the **tests** subfolder. Notice the ellipsis (...), and select **New > Folder**.
376
381
1. specify **jmeter** as folder name, and **placeholder.txt** for the file name (Note: a Folder cannot be created as empty)
377
-
1. Click **Commit** to confirm the creation of the placeholder file and jmeter folder.
382
+
1. Click **Create** to create the folder and file, then click **Commit** to commit the changes to the repository.
378
383
1. From the **Folder structure**, navigate to the new created **jmeter** subfolder. Click the **ellipsis(...)** and select **Upload File(s)**.
379
384
1. Using the **Browse** option, navigate to the location of the extracted zip-file, and select both **config.yaml** and **quick_test.jmx**.
380
-
1. Click **Commit** to confirm the file upload into source control.
385
+
1. Click **Commit** to confirm the file upload into source control. If prompted, click **Commit** again to finalize the upload.
381
386
1. Within Repos, browse to the **/tests/jmeter** subfolder just created.
382
387
1. Open the Load Testing **config.yaml** file. Click **Edit** to allow editing of the file.
383
388
1. Replace the **displayName** and **testId** attributes with the value **ado_load_test**
@@ -389,16 +394,18 @@ Perform the following steps to download the input files for an existing load tes
389
394
1. To create and run a load test, the Azure Pipelines workflow definition uses the **Azure Load Testing task extension** from the Azure DevOps Marketplace. Open the [Azure Load Testing task extension](https://marketplace.visualstudio.com/items?itemName=AzloadTest.AzloadTesting) in the Azure DevOps Marketplace, and select **Get it free**.
390
395
1. Select your Azure DevOps organization, and then select **Install** to install the extension.
391
396
1. From within the Azure DevOps Portal and Project, navigate to **Pipelines** and select the pipeline created at the start of this exercise. Click **Edit**.
392
-
1. In the YAML script, navigate to **line 56** and press ENTER/RETURN, to add a new empty line. (this is right before the Deploy Stage of the YAML file).
393
-
1. At line 57, select the Tasks Assistant to the right-hand side, and search for **Azure Load Testing**.
397
+
1. In the YAML script, navigate to **line 43** and press ENTER/RETURN, to add a new empty line. (this is right before the Deploy Stage of the YAML file).
398
+
1. At line 44, select the Tasks Assistant to the right-hand side, and search for **Azure Load Testing**.
394
399
1. Complete the graphical pane with the correct settings of your scenario:
395
400
396
-
- Azure Subscription: Select the subscription which runs your Azure Resources
397
-
- Load Test File: '$(Build.SourcesDirectory)/tests/jmeter/config.yaml'
398
-
- Load Test Resource Group: The Resource Group which holds your Azure Load Testing Resources
399
-
- Load Test Resource Name: `eShopOnWebLoadTesting`
400
-
- Load Test Run Name: ado_run
401
-
- Load Test Run Description: load testing from ADO
401
+
- **Azure Subscription**: Select the subscription which runs your Azure Resources (enter subscription details manually if needed)
402
+
- **Load Test File**: '$(Build.SourcesDirectory)/tests/jmeter/config.yaml'
403
+
- **Load Test Resource Group**: The Resource Group which holds your Azure Load Testing Resources
404
+
- **Load Test Resource Name**: `eShopOnWebLoadTesting`
405
+
- **Load Test Run Name**: ado_run
406
+
- **Load Test Run Description**: load testing from ADO
407
+
408
+
> **Note**: The pipeline may require permissions to be granted. If prompted, select **View**, then select **Permit**, and select **Permit** again to grant the necessary permissions.
402
409
403
410
1. Confirm the injection of the parameters as a snippet of YAML by clicking **Add**
404
411
1. If the indentation of the YAML snippet is giving errors (red squiggly lines), fix them by adding 2 spaces or tab to position the snippet correctly.
0 commit comments