当前位置: 首页 > article >正文

【性能测试】Jmeter如何做一份测试报告(3)

 

本篇文章主要介绍Jmeter中下载插件(Jmeter  Plugins)

如何使用监听器插件,线程组插件,梯度压测线程组

测试报告需要去关注的数据,怎么看测试报告图表

目录

一:插件下载

1:下载地址

2:插件下载

3:下载两个插件

(1)监听器插件

(2)线程组插件

4:下载成功的标志

二:梯度压测线程组(Stepping Thread Group)

1:This  group  will  start

2:First  waitfor

3:Then  start

4:Next  add

5:thread  severy

6:using ramp-up

7:Then hold load for

8:Finally , stop

9:threads every

三:测试报告 重要数据

1:TPS吞吐量

2:响应时间

四:运行结果图

1:启动运行

2:退出阶段

五:全局观理解测试图

六:出具测试报告

1:测试报告

2:测试报告分析

(1)响应时间

(2)错误率(可靠性)

(3)吞吐量


一:插件下载

1:下载地址

Install :: JMeter-Plugins.org  附上下载链接地址

在压测场景中,我们通常为⼀点⼀点的逐步增加线程数,因此需要安装新的插件来⽀持线程数的配置。

通过插件管理⼯具下载其他插件:将该jar文件放到exe文件夹中后,此时我们的Jmeter工具就支持安装插件了,重启

2:插件下载

下载成功的标志,可以看到这个像蝴蝶一样的图标

3:下载两个插件

(1)监听器插件

点击Available

(2)线程组插件

这里临时修改了一下界面颜色,黑色太高冷了,阿华是屌丝

4:下载成功的标志

我们的监听器中多了很多选项

我们的线程组中多了很多的选项

二:梯度压测线程组(Stepping Thread Group)

重点理解图上三个打圈的参数 这里指的是 这个线程组中有20个线程,等待0秒后开始压力测试,一开始有0个线程,每3秒,增加5个线程进来,这5个线程需要在1s内启动完毕,

以上图数据为例

1:This  group  will  start

启动多少个线程,同线程组中的线程数

2:First  waitfor

等待多少秒才开始压测,⼀般默认为0

3:Then  start

⼀开始有多少个线程数,⼀般默认为0

4:Next  add

指的是下一次要额外增加的线程数量。例如,当前有 10 个线程在运行,设置 Next add 为 5,那么下一次线程数量会增加到 15 个。


5:thread  severy

一组线程(5个)执行完之后,等待3秒后再启动下一组线程

指的是在一组线程执行完之后,等待多长时间再启动下一组线程。也就是相邻两组线程启动之间的时间间隔。


6:using ramp-up

这一组(5个)线程,在1秒内均匀的启动

设置为 1秒,表示在 1 秒的时间内均匀地启动指定数量的线程。例如,设置线程数为 10 个,ramp-up period 为 1 秒,那么 Jmeter 会在 1 秒内逐步启动这 10 个线程,平均每秒启动 10 个线程 

7:Then hold load for

20个线程启动完成后,一直运行60s 

8:Finally , stop

9:threads every

解读——每隔1s,结束5个线程,可以看到这边是直降,与左边是有区别的

三:测试报告 重要数据

1:TPS吞吐量

全称Transactions per Second

2:响应时间

这里通常是一个折线图 

逆天,有时候并发数可能太多,造成莫名其妙的报错,那就在run一次

四:运行结果图

1:启动运行

活跃的线程数折线图

响应时间——由低变高

吞吐量——整体比较平稳

2:退出阶段

活跃的线程数,逐步下降

响应时间——中间部分比较高

吞吐量 老样子 四平八稳

五:全局观理解测试图

对应过来就是下面这条蓝色的线。

看第一个红色方框——我们的响应时间降低,吞吐量就上升了

再看第二个红色方框——我们的响应时间增大的时候,吞吐量就下降了。

这里其实可以得出——我们的响应时间和吞吐量呈现负相关的关系

这里细心的老铁会发现最后结束的的时候,为什么响应时间反而激增了呢?这是因为我们有一个线程请求一直没有得到响应,我们观察聚合报告,列表页,有一个最大的请求时间为59s,图标中的绿色最高峰也可以看出来。

六:出具测试报告

1:测试报告

JMeter测试报告是⼀个全⾯⽽详细的⽂档,它提供了关于测试执⾏结果的详细信息,帮助⽤⼾全⾯评估系统的性能并进⾏性能优化。这份测试报告也要交给我们的后端开发同学(如果有异常的话)

1:⽣成性能测试报告的命令

Jmeter -n -t 脚本⽂件 -l ⽇志⽂件 -e -o ⽬录
-n : ⽆图形化运⾏                  (可以理解成后台运行,有 点像Linux中的nohup操作!)
-t : 被运⾏的脚本
-l : 将运⾏信息写⼊⽇志⽂件,后缀为jtl的⽇志⽂件
-e : ⽣成测试报告
-o : 指定报告输出⽬录

举例:

开始执行——等待大概1min左右结束

最后生成一个first.jtl日志文件,这个不是重点

重点去我们创建的first文件中查看测试报告

双击index.html

静态数据,其实可以理解成我们的聚合报告

这里还有很多数据展示,在左边的菜单栏展开。

总结:我们测试人员,做出来测试报告本质上是从宏观角度去测试项目,去发现问题,但是不能排查问题,具体去解决问题还是我们后端开发人员去做。

2:测试报告分析

我们测试人员主要去干的事情还是要从这三方面进行分析

(1)响应时间

如果响应时间超过了请求,代表系统到了瓶颈,响应时间发生变化的原因——我们的系统不稳定啊,有时快有时慢,随着并发压力变大而慢慢变慢,响应时间变高

(2)错误率(可靠性)

高并发场景下,系统能否正常处理业务

要求:99.99%可靠  99.9999%(也就是我们常说的4个9——10w次请求只能出现一次错误)

错误率高的原因:

①接口请求错误

②服务器无法继续处理请求,达到了瓶颈

③后端系统限流

④熔断 

解释:防止因为某个服务的故障而整体崩溃。可以理解成及时止损——比如说给一个场景,电商用户支付场景,忽然微信支付失败率激增,超时严重,此时我们就先临时把微信支付这个方式先熔断掉,先保证我们整体的这个服务还是完好的(先保大头)

⑤降级

主动关闭一些非核心功能,以确保核心功能正常运行。比如说,某次大型直播,那么直播间显示的用户名称给成一个统一默认的名字

(3)吞吐量

①吞吐量越大,性能越好;吞吐量稳定或者变低,可能系统达到了性能瓶颈。

②吞吐量变化的规律

吞吐量波动很大的话,说明我们系统的性能不稳定;

吞吐量如果是慢慢变大,再趋于稳定,说明我们的并发量在上升,和并发量是强相关的

如果吞吐量慢慢变低,我们的并发量也在慢慢变低,说明我们的性能测试要结束了。

换一个角度,我们并发量在增,吞吐量变低,一般就是系统处理不过来这么多响应了,造成系统卡顿啊什么的。


http://www.kler.cn/a/581380.html

相关文章:

  • 第十五届蓝桥杯大学B组(握手问题、小球反弹、好数)
  • K8S学习之基础二十二:k8s的持久化存储之hostPath
  • 通义万相 2.1 + 蓝耘算力,AI 视频生成的梦幻组合
  • halcon机器人视觉(二)固定相机抓取hand_eye_stationarycam_grasp_nut
  • 批量测试IP和域名联通性
  • 从零开始学机器学习——了解分类算法
  • 【从零开始学习计算机科学】操作系统(十)操作系统的引导程序 与 系统安全
  • 数组美丽值求和 (Leetcode 2012)
  • 2025软件供应链安全最佳实践︱新能源汽车领域SCA开源风险治理项目
  • GitLab版本控制-分支(详解)
  • 【深度学习】读写文件
  • 【51单片机】程序实验15.DS18B20温度传感器
  • MySQL 与 MongoDB 的区别
  • OPPO机器学习算法岗(AI智能体)内推
  • 探秘Transformer系列之(12)--- 多头自注意力
  • Drools规则引擎在临床路径逻辑中的编程实例讨论汇总
  • 数据结构 -并查集
  • 插入排序:算法原理与应用解析
  • Java 大视界 -- 基于 Java 的大数据分布式数据库架构设计与实践(125)
  • 【 <一> 炼丹初探:JavaWeb 的起源与基础】之 Tomcat 的工作原理:从启动到请求处理的流程