你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问
https://docs.azure.cn
。
在 Azure 负载测试中使用 JMeter 脚本对网站进行负载测试
项目
05/21/2024
5 个参与者
了解如何使用 Apache JMeter 脚本,通过 Azure 门户的 Azure 负载测试或通过使用 Azure CLI 对 Web 应用程序进行负载测试。 使用 Azure 负载测试可以获取现有的 Apache JMeter 脚本,并使用它以云规模运行负载测试。 详细了解
Azure 负载测试支持哪些 JMeter 功能
。
使用现有 JMeter 脚本创建负载测试的用例包括:
你想要重复使用现有的 JMeter 脚本来测试应用程序。
需要测试不基于 HTTP 的终结点,例如数据库或消息队列。 Azure 负载测试支持 JMeter 支持的所有通信协议。
要使用 CLI 命令,请使用 Azure CLI 版本 2.2.0 或更高版本。 运行
az --version
即可查找在计算机上安装的版本。 如果需要安装或升级 Azure CLI,请参阅
如何安装 Azure CLI
。
具有活动订阅的 Azure 帐户。
免费创建帐户
。
JMeter 测试脚本(JMX 文件)。 如果没有测试脚本,请通过
从 GitHub 克隆或下载示例项目
开始使用示例脚本。
创建 Azure 负载测试资源
首先,为 Azure 负载测试创建顶级资源。 该资源提供一个集中位置用于查看和管理测试计划、测试结果和相关项目。
如果已有负载测试资源,请跳过本部分并继续
创建负载测试
。
要创建负载测试资源,请执行以下操作:
在后续命令中,可使用以下值来创建负载测试资源。
loadTestResource="<load-testing-resource-name>"
resourceGroup="<resource-group-name>"
location="East US"
使用 azure load create
命令创建 Azure 负载测试资源:
az load create --name $loadTestResource --resource-group $resourceGroup --location $location
创建资源后,可以使用 azure load show
命令查看详细信息:
az load show --name $loadTestResource --resource-group $resourceGroup
可以上传更多 JMeter 配置文件或要在 JMX 文件中引用的其它文件。 例如,如果测试脚本使用 CSV 数据集,则可以上传相应的 .csv 文件。 另请参阅如何从 CSV 文件读取数据 。 对于主要测试脚本和用户属性以外的文件,如果文件大小大于 50 MB,请压缩文件。 zip 文件的大小应小于 50 MB。 Azure 负载测试会在测试运行期间自动解压缩文件。 只允许使用 5 个 zip 项目,每个 zip 中最多包含 1000 个文件,未压缩的总大小最大为 1 GB。
选择“查看 + 创建”。 查看所有设置,然后选择“创建”以创建负载测试。
设置参数值。
为负载测试指定唯一的测试 ID,以及 JMeter 测试脚本(JMX 文件)的名称。 如果使用现有测试 ID,则运行测试时,测试运行会添加到测试中。
testId="<test-id>"
testPlan="<my-jmx-file>"
使用 azure load create
命令创建负载测试:
以下命令通过使用上传 JMeter 测试脚本来创建负载测试。 该测试在一个测试引擎实例上运行。
az load test create --load-test-resource $loadTestResource --test-id $testId --display-name "My CLI Load Test" --description "Created using Az CLI" --test-plan $testPlan --engine-instances 1
指定测试运行 ID 和显示名称。
testRunId="run_"`date +"%Y%m%d%_H%M%S"`
displayName="Run"`date +"%Y/%m/%d_%H:%M:%S"`
使用 azure load test-run create
命令运行负载测试:
az load test-run create --load-test-resource $loadTestResource --test-id $testId --test-run-id $testRunId --display-name $displayName --description "Test run from CLI"
使用 az load test-run metrics list
命令检索客户端测试指标:
az load test-run metrics list --load-test-resource $loadTestResource --test-run-id $testRunId --metric-namespace LoadTestRunMetrics
将基于 URL 的负载测试转换为基于 JMeter 的负载测试
如果创建了基于 URL 的负载测试,可以将该测试转换为基于 JMeter 的负载测试。 创建基于 URL 的负载测试时,Azure 负载测试会自动生成 JMeter 脚本。
将基于 URL 的负载测试转换为基于 JMeter 的负载测试:
转到负载测试资源,选择“测试”以查看测试列表。
请注意“测试类型”列,该列指示测试是基于 URL 还是基于 JMeter。
为基于 URL 的负载测试选择省略号 (...),然后选择“转换为 JMeter 脚本”。