简介
Apache JMeter 是一个用于负载测试和性能测试的强大开源工具。逻辑控制器(Logic Controllers)是 JMeter 的重要组成部分,帮助用户定义请求的执行逻辑。吞吐量控制器(Throughput Controller)是其中一种,用于控制采样器执行的频率,以实现特定的吞吐量目标。本指南将详细介绍如何配置和使用 JMeter 的吞吐量控制器。
启动 JMeter
在命令行中导航到 JMeter 的 bin
目录,然后运行以下命令启动 JMeter GUI:
jmeter
创建测试计划
- 添加线程组:
打开 JMeter 后,在测试计划(Test Plan)中右键点击,选择 Add -> Threads (Users) -> Thread Group。
配置线程组参数,如线程数(Number of Threads)、Ramp-Up 时间(Ramp-Up Period)和循环次数(Loop Count)。
- 添加吞吐量控制器:
在线程组上右键点击,选择 Add -> Logic Controller -> Throughput Controller。
配置吞吐量控制器的参数:
- Name:给吞吐量控制器命名。
- Throughput:设定吞吐量控制器的执行频率,可以选择总次数或百分比。
- Per User:如果勾选此选项,吞吐量是基于每个用户的,否则是全局的。
- Percent Executions:如果选择此选项,吞吐量是按百分比计算的,否则按固定次数计算。
- 添加采样器到吞吐量控制器:
在吞吐量控制器上右键点击,选择
Add -> Sampler -> HTTP Request(或其他类型的采样器)
。配置每个 HTTP 请求的参数,如服务器名称或 IP、路径、请求方法等。
配置示例
假设我们有一个简单的场景,需要控制两个请求的吞吐量:
- 创建一个线程组:
- 线程数:10
- Ramp-Up 时间:5 秒
- 循环次数:无限
- 添加第一个吞吐量控制器:
- 名称:Throughput Controller 1
- 选择 Total Executions
- 设定执行次数为 5
- 添加 HTTP 请求采样器:
- 名称:
Request A
- 服务器名称或 IP:
example.com
- 路径:
/api/requestA
- 方法:
GET
- 名称:
- 添加第二个吞吐量控制器:
- 名称:Throughput Controller 2
- 选择 Percent Executions
- 设定执行百分比为 50%
- 添加 HTTP 请求采样器:
- 名称:
Request B
- 服务器名称或 IP:
example.com
- 路径:
/api/requestB
- 方法:
POST
- 名称:
添加监听器
- 添加汇总报告:
- 在线程组上右键点击,选择
Add -> Listener -> Summary Report
。 - 汇总报告将显示各个请求的执行结果。
- 添加查看结果树:
- 在线线程组上右键点击,选择
Add -> Listener -> View Results Tree
。 - 查看结果树可以显示每个请求的详细响应数据。
执行测试
1.保存测试计划:
在菜单栏选择 File -> Save As
,保存测试计划文件(.jmx
)。
- 启动测试:
点击工具栏上的绿色开始按钮,启动测试计划。
- 查看结果:
在汇总报告和查看结果树中查看测试结果。
确认吞吐量控制器是否按预期控制了请求的执行频率。
结果分析
通过吞吐量控制器,可以精确控制请求的执行频率,以模拟特定的负载模式。这对于测试系统在不同负载下的表现非常有用。吞吐量控制器的结果可以帮助识别系统在不同负载条件下的性能瓶颈。
总结
吞吐量控制器是 Apache JMeter 中一个强大且灵活的工具,允许测试工程师控制请求的执行频率,以实现特定的吞吐量目标。通过本指南,您应该能够成功创建、配置并使用吞吐量控制器来进行复杂的性能测试。