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

JMeter插件JMeter Plugins

作为一个开源的接口性能测试工具,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等着你继续探索哦~

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

http://www.gsyq.cn/news/93051.html

相关文章:

  • Boss Show Time招聘插件:智能时间显示让求职更精准高效
  • 2、票务系统:提升工作效率的利器
  • 栈内存与全局变量的秘密:为什么局部数组在调试时“消失“了?
  • 8、RT系统管理指南:用户、组、队列及日常维护
  • TrollRestore 终极指南:iOS 系统应用替换完整教程
  • Linux创建文件后权限的解释
  • 分布式SQLite完整指南:5分钟掌握LiteFS核心架构与实战部署
  • 当数据分析从“技术活”变成“思想翻译器”:Paperzz AI数据分析功能深度拆解——从原始数据到论文图表,它如何把你的“研究问题”翻译成“可被学术共同体理解的视觉语言”?
  • 掌握ElastAlert:轻松搞定Elasticsearch告警配置的实用指南
  • KDDockWidgets开发实战:打造专业级Qt停靠界面
  • 从 “选题焦虑” 到 “成稿自由”:paperzz AI 如何重构毕业论文写作的 4 个关键环节?
  • 18、RT开发与使用全解析
  • “AI 学术搭子” 矩阵:8+1 款工具重构毕业论文写作的全流程
  • 深入理解CC++的编译与链接技术9:动态库细节
  • Zephyr RTOS混合调度策略:实现高效实时控制的完整指南
  • 3大策略彻底解决Cilium网络延迟与带宽瓶颈
  • 北京邮电大学毕业答辩PPT模板:5款专业模板助力完美答辩
  • 42、多线程编程:Page Indexer 应用中的 Walker 线程实现与优化
  • 43、PyQt安装全攻略:Windows与Mac OS X系统指南
  • 网络安全领衔:计算机专业不想卷开发?还有这些黄金赛道等你挑!
  • 如何快速使用Colorful.Console:控制台彩色输出完整指南
  • Amphion终极指南:免费开源音频生成工具包快速入门
  • PHP开发终极指南:从新手到专家的完整成长路径
  • 如何3步快速上手鲁班H5表单数据收集系统:从小白到高手的完整指南
  • 如何快速掌握ENVI Classic:高光谱遥感影像处理完整教程
  • 完整掌握DNVGL-ST-0126风机支撑结构:权威资源快速获取指南
  • 15、线程取消机制的深入解析与应用
  • 【怎么在手机上访问部署在电脑上的网页,不在一个局域网】
  • 用Python进行gRPC接口测试
  • “没有网络安全就没有国家安全”就业转行网安的发展方向保姆级讲解,一定有适合你的黑客方向!