在应用接口服务开发中,常涉及 TPS(吞吐量) 与 QPS(每秒查询数) 等参数指标,可直观的了解接口性能的优劣。
而在接口压测中,JMeter 绝对是称得上为神器,其为 Apache 旗下开源的接口测试工具,提供了一系列丰富的操作可协助开发者从各个维度衡量接口性能。
下面就让我们一同了解如何使用 JMeter 工具对接口服务进行性能测试。
一、基础面板
1. 应用安装
在开始前进入 JMeter 官网下载对应的应用程序,官网直达。
以 Windows 环境为例,解压下载后的文件,双击 bin/jmeter.bat 文件便可启动程序。
启动后会弹出命名窗口注意不要关闭,之后便可看到如下页面:
2. 并发模拟
JMeter 的网络请求均基于线程组,因此需要先添加线程用户组,按下图路径进行创建。
添加后便可看到下图内容,这边涉及到三个重要参数。
(1) Number of Threads(Users)
用于模拟控制并发数量,例如配置为 5 则为模拟 5 名用户同时执行操作。
(2) Ramp-up period(seconds)
用于控制不同并发用户之间的发起间隔。
如配置为 0 则表示瞬时同时启动 n 个线程发起操作,若配置为 1 则表示每隔 1s 启动一个线程直至并发数量达到 Number of Threads(Users) 所配置值。
(3) Loop Count
用于控制每个线程执行操作的次数,若选择 Infinite 则表示无限制循环请求,常用于测试性能瓶颈。
如配置为 1 则表示每个线程只会操作一次请求,相对应配置为 n 则表示每个线程都会重复操作 n 次。
例如下图示例即为在 1s 后启动 1 个线程并执行 1 次请求操作。
3. 网络请求
在添加线程组之后便可创建具体的操作事项,通过下述路径创建 HTTP Request 用于网络请求。
添加完成之后便可看到下述页面,填写具体接口地址信息即可,内容并不复杂此处并不详细展开描述。
4. 请求配置
在许多请求场景中,常需要添加认证信息等请求头信息,在面板中按下述路径添加 HTTP Header Manager 用于配置服务请求头。
同样的,完成之后便可按 Key - Value 形式添加请求头信息。
二、结果分析
1. 执行结果
完成上述配置项之后,此时还并不能执行具体的请求测试,还需添加结果集。
按照下图中路径添加 View Results Tree 用于接收以及展示接口响应内容。
现在则可以执行发起具体的请求操作,按图示启动后便可看见响应结果。
2. 汇总分析
上述的所有操作仍然只是基础的接口请求,而 JMeter 真正强大之处不仅可模拟并发,其提供了一系列面板支持输出具体的报告信息。
在应用中按照下述添加 Summary Report 用于统计请求结果。
添加之后修改之前的线程组配置,模拟 10 个线程并发,每个线程发起单次操作。
完成之后再次启动运行,通过 Summary Report 可以看到这 10 次的总体效率内容。
其中 Average,Min 与 Max 分别代表本批请求中平均耗时、最短以及最大耗时,单位为毫秒。