JMeter 使用教程

一. 下载 & 解压 JMeter

链接:https://pan.baidu.com/s/1VEyJYnLgPTwYrOY4q1fPKw
提取码:85e0
文件夹:压测工具
版本号:5.2.1

二. 使用 JMeter

启动:D:\apache-jmeter-5.2.1\bin\jmeter.bat

切换简体中文:Options->Choose Language->Chinese(Simplified)

创建测试计划:

  • 添加线程组:右键点击TestPlan->添加->线程(用户)->线程组;
  • 添加HTTP请求:右键点击线程组->添加->取样器->HTTP请求;
  • 添加察看结果树:右键点击HTTP请求->添加->监听器->察看结果树;
  • 添加聚合报告:右键点击HTTP请求->添加->监听器->聚合报告。

概念解释:

1. TestPlan:测试计划,相当于一个工程,需要测试什么,怎么测就是定义在一个测试计划中
2. 线程组(Thread Group):相当于模拟的请求数。一个线程相当于一个用户请求
3. 察看结果树:监听发送请求时各个请求的状态
4. 聚合报告:把一次测试的数据汇总

配置参数:

  • TestPlan:不用修改,名称 & 注释按需设置;
  • 线程组:名称 & 注释按需设置,线程数填50,Ramp-up时间填5,循环次数填1,就表示在5秒内发送50次请求,执行一次;

  • HTTP请求:名称 & 注释按需设置,填写协议(默认http)、IP(可为域名)、端口号、请求方式、路径及参数;

注意:左侧的节点很多时候是可以重复的,但是作用域不相同。比如当前察看结果树和聚合报告都是在HTTP请求下创建的,那么这个察看结果树和聚合报告监听的就是这个HTTP的结果。一个线程组下可以有多个HTTP请求,比如我们有一个H5页面要测试,打开这个页面可能会同时请求多个接口,在这种情况下就需要创建多个HTTP请求了。当察看结果树和聚合报告创建在Thread Group下,那么就是监听这个线程组下所有HTTP请求的结果。

三. 测试

  • 点击界面工具栏的绿色三角按钮开始压测,这时察看结果树会不断输出信息
  • 选择其中的请求可以在右边看到这个请求的详细信息,包括时间、请求数据长度、请求地址及返回参数等等。

  • 选择聚合报告可以看到本轮测试的数据报告

概念解释:

1. 样本:请求的次数,计算公式是线程数*循环次数,如果线程组配置勾选了永远,那么就是你停止测试时实际发送的请求数
2. 平均值:响应时间的平均用时,单位是毫秒。比如这里的平均响应时间是4毫秒
3. 中位数:响应时间的中位数,单位是毫秒。
4. 90%百分位:90%的响应时间小于该数值,单位是毫秒。这里有90%的响应时间小于3毫秒
5. 95%百分位:含义和90%类似
6. 99%百分位:含义和90%类似
7. 最小值:本轮测试最小响应时间,单位是毫秒。
8. 最大值:本轮测试最大响应时间,单位是毫秒。
9. 异常%:本轮测试出现异常的请求比例。
10. 吞吐量:可以理解为QPS,即是我们测试的接口处理请求的能力。比如这里是平均每秒可以处理10.2次请求
11. 接收KB/Sec:响应数据的接收速率
12. 发送KB/Sec:请求数据的发送速率

四. 在JMeter中使用变量

  • 在上面例子中,在填写HTTP配置的时候,请求路径直接写了IP地址,假如接口在不同的机器上部署了节点,我们在对不同机器上的接口进行测试时会非常麻烦,这就用到了JMeter给我们提供的变量,我们可以在HTTP请求中使用变量。
方法:
  • 右键点击线程组->添加->配置元件->用户定义的变量
  • 通过${}来引用的,比如要引用host变量,就是${host},然后我们选择HTTP请求,把IP地址和端口改为引用变量的形式
  • 在按照 “三.测试” 进行请求,测试成功~


番外:其实JMeter功能不止于此,还有一些其他功能比如说命令行的使用、分布式测试等,参考网址:

https://www.cnblogs.com/spareyaya/p/12807638.html