你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

快速入门:使用 Azure 负载测试创建和运行负载测试

在本快速入门中,你将通过在 Azure 门户中使用 Azure 负载测试创建基于 URL 的测试对 Web 应用程序进行负载测试。 使用基于 URL 的测试,可以创建负载测试,而无需事先了解负载测试工具或脚本。 使用 Azure 门户体验通过指定 HTTP 请求来配置负载测试。

要创建基于 URL 的负载测试,请执行以下步骤:

  1. 创建 Azure 负载测试资源
  2. 指定 Web 应用程序终结点和基本负载配置参数。
  3. (可选)添加更多 HTTP 终结点。

完成本快速入门后,你将获得一个可用于其他教程的资源和负载测试。

先决条件

我们将解决什么问题?

在部署应用程序之前,需要确保应用程序能够支持预期的负载。 可以使用负载测试来模拟用户到应用程序的流量,并确保应用程序满足你的要求。 模拟负载可能需要复杂的基础结构设置。 此外,作为开发人员,你可能不熟悉负载测试工具和测试脚本语法。

在本快速入门中,你将使用 Azure 负载测试为应用程序终结点创建负载测试。 你将通过完全在 Azure 门户中添加对应用程序的 HTTP 请求来配置负载测试,而无需了解负载测试工具和脚本编写。

创建 Azure 负载测试资源

首先,为 Azure 负载测试创建顶级资源。 该资源提供一个集中位置用于查看和管理测试计划、测试结果和相关项目。

如果已有负载测试资源,请跳过本部分并继续创建负载测试

要创建负载测试资源,请执行以下操作:

  1. 使用 Azure 订阅的凭据登录到 Azure 门户

  2. 在 Azure 门户菜单上或在门户主页中,选择“创建资源”。

  3. 在“市场”页上,搜索并选择“Azure 负载测试”

  4. 在“Azure 负载测试 窗格”中选择“创建”。

  5. 在“创建负载测试资源”页上输入以下信息

    字段 说明
    订阅 选择要用于此 Azure 负载测试资源的 Azure 订阅。
    资源组 选择现有资源组。 或者选择“新建”,然后为新资源组输入唯一名称。
    名称 输入唯一名称用于标识你的 Azure 负载测试资源。
    名称不能包含特殊字符,如 \/“”[]:|<>+=;、?*@&或空格。 该名称不能以下划线 (_) 开头,并且不能以句点 (.) 或 破折号 (-) 结尾。 长度必须为 1 到 64 个字符。
    位置 选择一个地理位置用于托管你的 Azure 负载测试资源。
    此位置还确定测试引擎的托管位置,以及 JMeter 客户端请求的来源。

    注意

    (可选)可以在“标记”选项卡上配置更多详细信息。标记是名称/值对,通过将相同的标记应用到多个资源和资源组,可以对资源进行分类并查看合并的计费。

  6. 完成资源配置后,选择“查看 + 创建”。

  7. 查看提供的设置,然后选择“创建”。 创建帐户需要几分钟时间。 等待门户页显示“部署已完成”后再继续。

  8. 若要查看新资源,请选择“转到资源”。

    Screenshot that shows the deployment completion screen.

  9. 还可以管理对 Azure 负载测试资源的访问(可选)。

    Azure 负载测试使用基于角色的访问控制 (RBAC) 管理针对资源的权限。 如果遇到此消息,则表明你的帐户没有管理测试所需的权限。

    Screenshot that shows an error message in the Azure portal that you're not authorized to use the Azure Load Testing resource.

创建负载测试

借助 Azure 负载测试,可通过指定目标 Web 应用程序 URL 和基本负载测试参数,在 Azure 门户快速创建负载测试。 此服务让创建负载测试脚本和预配计算基础结构变得不再复杂。

要为 Web 终结点创建负载测试,请执行以下操作:

  1. 转到 Azure 负载测试资源的“概述”页。

  2. 在“开始”选项卡上,选择“添加 HTTP 请求”>“创建”

    Screenshot that shows how to create a URL-based test from the resource overview page in the Azure portal.

  3. 在“基本信息”选项卡中输入负载测试详细信息

    字段 说明
    测试名称 输入唯一的测试名称。
    测试说明 (可选)输入负载测试说明。
    创建后运行测试 选定。 保存负载测试后,测试会自动启动。
    启用高级设置 保持未选中状态。 使用高级设置,可以添加多个 HTTP 请求并配置更高级的负载测试设置。
  4. 接下来,配置应用程序终结点和负载测试参数:

    字段 说明
    测试 URL 输入要为其运行测试的完整 URL。 例如,https://www.example.com/products
    指定负载 选择“虚拟用户”以根据目标数量的虚拟用户指定模拟负载。
    虚拟用户数 输入要模拟的虚拟用户总数。

    Azure 负载测试跨并行测试引擎实例均匀分配模拟负载,每个引擎最多处理 250 个虚拟用户。 例如,输入 400 个虚拟用户会导致每个实例处理 200 个虚拟用户。
    测试持续时间(分钟) 输入负载测试的持续时间(以分钟为单位)。
    爬坡时间(分钟) 输入负载测试的爬坡时间(以分钟为单位)。 爬坡时间是达到虚拟用户目标数量的时间。

    或者,选择“每秒请求数 (RPS)”以基于每秒目标请求数配置模拟负载

  5. 选择“查看 + 创建”以查看负载测试配置,然后选择“创建”以启动负载测试

    Screenshot that shows the quick test page in the Azure portal, highlighting the option for specifying virtual users.

保存负载测试后,Azure 负载测试会生成负载测试脚本来模拟发到应用程序终结点的流量。 然后,该服务会预配基础结构以模拟目标负载。

查看测试结果

负载测试启动后,系统会将你重定向到“测试运行”仪表板。 当负载测试正在运行时,Azure 负载测试会捕获客户端指标和服务器端指标。 在本部分,你将使用仪表板来监视客户端指标。

  1. 当测试正在运行时,可以在“测试运行”仪表板上查看流式处理客户端指标。 默认情况下,数据每隔五秒刷新一次。

    Screenshot that shows results of the load test.

  2. 负载测试完成后,可以查看负载测试摘要统计信息,例如请求总数、持续时间、平均响应时间、错误百分比和吞吐量。

    Screenshot that shows test run dashboard, highlighting the load test statistics.

  3. (可选)更改显示筛选器以查看特定时间范围、结果百分位数或错误类型。

    Screenshot that shows the filter criteria for the results of a load test.

向负载测试添加请求

使用 Azure 负载测试,可以创建包含多个请求的基于 URL 的负载测试。 最多可以向负载测试添加五个 HTTP 请求,并使用任何 HTTP 方法,例如 GET、POST 等。

要向之前创建的负载测试添加 HTTP 请求,请:

  1. Azure 门户中,转到 Azure 负载测试资源。

  2. 在左侧导航中,选择“测试”以查看所有测试。

  3. 通过选中相应复选框来从列表中选择测试,然后选择“编辑”

    Screenshot that shows the list of tests in the Azure portal, highlighting the Edit button to modify the load test settings.

  4. 在“基本信息”选项卡上,选择“启用高级设置”

    使用高级设置,可以为负载测试定义多个 HTTP 请求。 此外,还可以配置测试条件和高级负载参数。

    切换到高级设置时,不会自动将测试 URL 添加到测试中。 需要将测试 URL 重新添加到负载测试。

  5. 转到“测试计划”选项卡,然后选择“添加请求”以向负载测试添加请求

  6. 在“添加请求”页上,输入请求详细信息,然后选择“添加”

    字段 说明
    请求格式 选择“在 UI 中添加输入”,以通过 Azure 门户中的字段配置请求详细信息。
    请求名称 输入请求的唯一名称。 定义测试失败条件时,可以引用此请求名称。
    URL 应用程序终结点的 URL。
    方法 从列表中选择 HTTP 方法。 Azure 负载测试支持 GET、POST、PUT、DELETE、PATCH、HEAD 和 OPTIONS。
    Query parameters (可选)输入要追加到 URL 的查询字符串参数。
    标头 (可选)输入要包含在 HTTP 请求中的 HTTP 标头。
    正文 (可选)根据 HTTP 方法,可以指定 HTTP 正文内容。 Azure 负载测试支持以下格式:原始数据、JSON 视图、JavaScript、HTML 和 XML。

    Screenshot that shows how to add a request to a URL-based load test in the Azure portal.

  7. (可选)向负载测试添加更多请求。

  8. (可选)在“负载”选项卡上,配置负载参数。

    请注意,使用高级设置可以配置测试引擎实例的数量,并从不同的负载模式中进行选择。

    Screenshot that shows the Load tab when configuring a load test in the Azure portal.

  9. 选择“应用”以更新负载测试配置。

  10. 在“测试”页上,选择测试,然后选择“运行”以使用更新的配置运行负载测试

    请注意,测试运行仪表板会显示负载测试中不同 HTTP 请求的指标。 可以使用“请求”筛选器仅查看特定请求的指标

    Screenshot that shows the test results dashboard in the Azure portal, showing the results for the different requests in the load test.

我们如何解决问题?

在本快速入门中,你完全在 Azure 门户中创建了基于 URL 的负载测试,而未编写脚本或使用负载测试工具。 通过添加 HTTP 请求配置负载测试,然后使用负载测试仪表板分析负载测试客户端指标,并评估接受测试的应用程序性能,配置了负载测试。 Azure 负载测试抽象化了设置基础结构以模拟应用程序大规模用户负载的复杂性。

可以进一步扩展负载测试,以监视负载下应用程序的服务器端指标,并指定测试失败指标,以在应用程序不满足要求时收到警报。 为了确保应用程序继续运行良好,还可以将负载测试作为持续集成和持续部署 (CI/CD) 工作流的一部分进行集成。

清理资源

重要

可以重复使用为其他 Azure 负载测试教程和操作指南文章创建的 Azure 负载测试资源。

如果你不打算使用已创建的任何资源,请删除它们,以免继续产生费用。 如果已将示例应用程序部署在其他资源组中,可能需要重复以下步骤。

若要使用 Azure 门户删除资源,请执行以下操作:

  1. 选择左上角的菜单按钮,然后选择“资源组”。

  2. 从列表中选择你创建的资源组。

  3. 选择“删除资源组”Screenshot of the selections to delete a resource group in the Azure portal.

  4. 输入资源组名称。 然后选择“删除”。

若要使用 Azure CLI 删除资源,请输入以下命令:

az group delete --name <yourresourcegroup>

请记住,删除资源组会删除其中的所有资源。

后续步骤