网站首页 > 博客文章 正文
前言
作为一个开源的接口性能测试工具,JMeter已经能够很好地完成基本的接口性能测试任务,但是和一些商业的性能测试工具如LoadRunner相比,在功能的全面性上就略显不足,比如在场景设置、结果的图表展示等方面。不过,通过JMeter的第三方插件JMeter Plugins,Jmeter的功能得以大大扩展。本文将介绍一些常用的JMeter插件,以拓宽我们的性能测试思路。
下载及安装
1、进入JMeter Plugins官网:https://jmeter-plugins.org/,下载plugins-manager.jar文件;
2、将jar文件放入JMeter安装目录下的lib/ext目录下;
3、重启JMeter,在Options-Plugins Manager中可以看到插件页面如下,展示已安装及可安装的插件。
线程组
JMeter自带的线程组无法实现复杂的测试场景,只能设定固定线程数,对于类似浪涌式线程无法实现。JMeter Plugins提供了2个支持复杂场景的线程组元件,Ultimate Thread Group和Stepping Thread Group。
1、Ultimate Thread Group
Ultimate Thread Group可以设置多条线程的任务,具体任务设置如下:
第一个任务:10个线程在10秒内启动,持续运行1800秒,然后在10秒内结束运行;
第二个任务:10个线程在第620秒的时候在10秒内启动完成,并运行1200秒,然后在10秒内结束运行;
第三个任务:10个线程在第1240秒的时候在10秒内启动完成,运行600秒之后在10秒内结束运行;
以此组成一个浪涌场景,30个线程分三次启动,也即一个稳定性测试场景。线程任务场景如下图所示。
?2、Stepping Thread Group
Ultimate Thread Group的设置中,需要每次都计算Initial Dealy的值,比较麻烦。Stepping Thread Group则更为简单。
下图设置的具体场景为:
共100个线程按照阶梯状递增,每5秒内加载20个线程直到加到100个线程。
其中每个阶梯运行600秒,最后一个阶梯运行1000秒,即最终并发100个线程时的运行时间为1000秒。
最后每秒停止10个线程。
这是一个典型的负载场景,持续增加负载,检验在不同负载下的性能。
Transactions per Second
即TPS:每秒事务数。性能测试中,最重要的2个指标之一。反映了系统在同一时间内能处理业务的最大能力,这个数据越高,说明系统处理能力越强。
该插件的作用是在测试脚本执行过程中,监控查看服务器的TPS表现————比如整体趋势、实时平均值走向、稳定性等。
JMeter本身的安装包中,监视器虽然提供了比如聚合报告这种元件,也能提供一些实时的数据,但相比于要求更高的性能测试需求,就稍显乏力。
其中,x轴是测试执行持续时间,y坐标轴是当前时刻的事务数。某次的压力测试每秒事务数曲线如下图:
Response Times Over Time
?即TRT:事务响应时间,性能测试中,最重要的2个指标的另外一个。
?该插件的主要作用是在测试脚本执行过程中,监控查看响应时间的实时平均值、整体响应时间走向等。
?x坐标轴是测试执行持续时间,y坐标轴是事务响应时间。整体响应时间如下图。
结束语
?上述简要介绍了JMeter Plugins的几个常用插件,更多好用的插件如redis、kafka、mongoDB、Hadoop/HBase Testing等着你继续探索哦~
猜你喜欢
- 2024-10-19 JMeter基础(jmeter操作)
- 2024-10-19 Jmeter(二十一)-fiddler录制脚本(jmeter怎么录制脚本,工作原理)
- 2024-10-19 深度好文【jmeter 性能测试与 influxdb2 集成显示监控结果 】
- 2024-10-19 Jmeter 接口测试(JMETER接口测试报告)
- 2024-10-19 基于Docker的jmeter弹性压测(1)发压
- 2024-10-19 性能测试工具JMeter环境搭建(性能测试工具jmeter环境搭建手册)
- 2024-10-19 脚本太多不好管理?Jmeter这个组件帮你轻松搞定
- 2024-10-19 Jmeter接口测试+压力测试,一看就会
- 2024-10-19 Jmeter 简要介绍与安装(jmeter安装配置)
- 2024-10-19 Jmeter结构体系——Jmeter目录结构详解
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 357℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)