Jmeter 性能测试入门 ——性能插件介绍

news2025/2/25 13:23:20

目录

一、前言

1、首先,JMeter提供了三个基本的线程组,分别为:

2、其他线程组可以通过集成插件的方式使用,包括:

二、集成插件下载安装

1、下载地址:jmeter-plugins.org 

2、安装:下载后文件为plugins-manager.jar格式,将其放入jmeter安装目录下的lib/ext目录,然后重启jmeter,即可。

3、启动jemter,点击选项,最下面的一栏,如下图所示:

二、Transactions per Second

三、Response Times Over Time

四、Thread Group、setUp Thread Group和tearDown Thread Group

五、阶梯加压线程组1

—bzm - Concurrency Thread Group,jp@gc - Stepping Thread Group,jp@gc - Ultimate Thread Group

1、主要功能:阶梯控制线程数并发

2、简述:上面3个都可用于阶梯式加压测试,但是由于Stepping Thread Group已经不再被官方推荐使用了,我们对Concurrency Thread Group进行简单介绍。

3、监控:jp@gc - Active Threads Over Time

六、阶梯加压线程组2

—bzm - Arrivals Thread Group,bzm - Free-Form Arrivals Thread Group

1、主要功能:阶梯控制 每秒/每分钟 请求数

2、简述:Arrivals Thread Group适合负载测试,Free-Form Arrivals跟Arrivals Thread Group差不多

总结

重点:配套学习资料和视频教学


一、前言

1、首先,JMeter提供了三个基本的线程组,分别为:

  • Thread Group
  • setUp Thread Group
  • tearDown Thread Group

2、其他线程组可以通过集成插件的方式使用,包括:

  • bzm - Arrivals Thread Group
  • bzm - Concurrency Thread Group
  • bzm - Free-Form Arrivals Thread Group
  • jp@gc - Stepping Thread Group
  • jp@gc - Ultimate Thread Group

以上,可以通过右键测试计划->添加->Threads(Users),选择对应的线程组进行添加

二、集成插件下载安装

1、下载地址:jmeter-plugins.org 

2、安装:下载后文件为plugins-manager.jar格式,将其放入jmeter安装目录下的lib/ext目录,然后重启jmeter,即可。

3、启动jemter,点击选项,最下面的一栏,如下图所示:

打开后界面如下:

 

Installed Plugins(已安装的插件):即插件jar包中已经包含的插件,可以通过选中勾选框,来使用这些插件;

Available Plugins(可下载的插件):即该插件扩展的一些插件,可以通过选中勾选框,来下载你所需要的插件;

Upgrades(可更新的插件):即可以更新到最新版本的一些插件,一般显示为加粗斜体,可以通过点击截图右下角的Apply Changes and Restart Jmeter按钮来下载更新;

PS:一般不建议进行更新操作,因为最新的插件都有一些兼容问题,而且很可能导致jmeter无法使用(经常报加载类异常)!!!

  建议使用jmeter最新的3.2版本来尝试更新这些插件。。。

二、Transactions per Second

  即TPS:每秒事务数,性能测试中,最重要的2个指标之一。该插件的作用是在测试脚本执行过程中,监控查看服务器的TPS表现

————比如整体趋势、实时平均值走向、稳定性等。

 

三、Response Times Over Time

TRT:事务响应时间,性能测试中,最重要的两个指标的另外一个。

该插件的主要作用是在测试脚本执行过程中,监控查看响应时间的实时平均值、整体响应时间走向等。

 

四、Thread Group、setUp Thread Group和tearDown Thread Group

  • Thread Group是我们通常使用的线程,模拟用户数,每一个线程就相当于一个虚拟的用户;
  • setUp Thread Group是一个特殊的线程组,用于执行测试之前的初始化操作;
  • tearDown Thread Group是一个特殊的线程组,用于执行测试结束之后的回收工作;

五、阶梯加压线程组1

—bzm - Concurrency Thread Group,jp@gc - Stepping Thread Group,jp@gc - Ultimate Thread Group

1、主要功能:阶梯控制线程数并发

2、简述:上面3个都可用于阶梯式加压测试,但是由于Stepping Thread Group已经不再被官方推荐使用了,我们对Concurrency Thread Group进行简单介绍。

  •  target concurrency:目标并发数
  • ramp up time(min):加速时间
  • ramp-up steps count:加速步骤计数
  • hold target rate time(min):保持目标费率时间
  • thread iterations limit:线程迭代次数限制
  • log threads status into file:将线程状态记录到文件

以上,以图形的方式展示了线程加压的过程,例如:

  • 100个线程组,加速时间为5分钟,10个加速步骤,保持目标费率10分钟:
  • 10个加速步骤,每步10个线程组;
  • 5分钟/10步=0.5,每步0.5分钟;即每0.5分钟加载十个线程组,直到达到100个;
  • 达到100个线程组之后,所有这些线程组将继续运行,加压十分钟。

3、监控:jp@gc - Active Threads Over Time

阶梯加压线程组需要和 Active Threads Over Time(不同时间活动数量展示)结合起来,这样能看到动态的阶梯加压效果

六、阶梯加压线程组2

—bzm - Arrivals Thread Group,bzm - Free-Form Arrivals Thread Group

1、主要功能:阶梯控制 每秒/每分钟 请求数

2、简述:Arrivals Thread Group适合负载测试,Free-Form Arrivals跟Arrivals Thread Group差不多

  

 

  • target rate:目标费率,每秒钟多少个请求数
  • ramp up time(sec):达到目标费率需要的时间
  • ramp-up steps count:达到目标费率需要多少步
  • hold target rate time(sec):保持目标费率时间
  • thread iterations limit:线程迭代次数限制
  • log threads status into file:将线程状态记录到文件
  • concurrency limit:最大并发数限制

例如:

  • 目标费率为100,加速时间为10秒钟,5个加速步骤,保持目标费率10秒钟:
  • 5个加速步骤,每步20增加个费率;
  • 10s/5步=2,每步2秒钟;即每2秒钟加载20个费率,直到达到100;
  • 达到100个费率之后,按照这个标准进行加压10秒钟;
  • 以上,前十秒钟按照设置不断增加费率,请求数为(20+40+60+80+100)*2=600个;后十秒钟,按照每秒100个费率计算,请求数为100*10=1000个;共计1600个请求数。

总结

感谢每一个认真阅读我文章的人!!!

如果下面这些资料用得到的话可以直接拿走:

1、自学开发或者测试必备的完整项目源码与环境

2、测试工作中所有模板(测试计划、测试用例、测试报告等)

3、软件测试经典面试题

4、Python/Java自动化测试实战.pdf

5、Jmeter/postman接口测试全套视频获取

6、Python学习路线图

                 

 

重点:配套学习资料和视频教学

那么在这里我也精心准备了上述大纲的详细资料包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。如下,需要的点击下方名片加入群聊免费领取,群里还有大佬帮忙解答问题。

               

             

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/95302.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nodejs+vue015疫情社区管理系统

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.3 B/S结构 4 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可…

Python自学教材推荐 初学者必看

Python是一种面向对象、解释性的高级程序语言,它已经被应用在众多领域,因此学习Python变得越来越有必要。传智播客针对编程零基础的初学者,编著出版了高质量的Python自学教材——《Python快速编程入门》。下面我将把这本书推荐给大家&#xf…

陈天老师的Rust培训(1)学习笔记

https://tyrchen.github.io/rust-training/ 跟C互操作时,加上上面图片的宏,rust会根据你的各个域的内存的占用自动去调整内存中的位置,让你的内存占用是最优的,而且rust在生成数据结构的结构的时候,它会做一些padding&…

新零售@2022: 调料、精酿、预制菜

【潮汐商业评论/原创】 圣诞节临近,刚刚下班的Emily想着好久没有与闺蜜见面了,于是相约着过平安夜。 她顺手就打开盒马APP下单了适合女生的微醺精酿,同时发现零售平台上新了一款可以用来拌蔬菜的中式沙拉川式椒麻汁,想起中午做饭…

常见音视频编码格式

1、常见的音频编码格式 MP3 这种压缩方式的全称叫MPEG Audio Layer3,MP3是利用MPEG Audio Layer 3的技术,将音乐以1:10甚至1:12 的压缩率,压缩成容量较小的file,换句话说,能够在音质丢失很小的情况下把文件压缩到更小的程度。而且…

收获一个python识别率超级高的OCR包,值得推荐

他的开源项目地址:https://github.com/sml2h3/ddddocr 他支持的类型还是挺多的: 本次更新新增了两种滑块识别算法,算法非深度神经网络实现,仅使用opencv和PIL完成。 算法1 小滑块为单独的png图片,背景是透明图&…

大一新生HTML期末作业——大学生抗疫感动专题网页设计作业

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

栈,队列和链表三者之间的关系与区别

最近一直在学习算法,刷算法题,但是自从大学毕业以来,数据结构的知识都还给老师了,只会个数组,所以前期刷的题目也都是有关数组的 最近跟着小册重学了一遍数据结构,今天就记录一下栈,队列和链表三者之间的关…

MindFusion.Diagramming for JavaScript V4.2.4

MindFusion.Diagramming for JavaScript V4.2.4 现在支持使用套索工具进行缩放的多种方式。2022 年 12 月 15 日 - 15:44新版本特征 套索缩放工具- 该控件现在支持使用套索工具进行缩放的多种方式。新的“PanAndModify”行为允许您在鼠标指针悬停在某个项目上或平移视图时进行选…

HTTPS工作过程!

HTTPS了解 HTTPS 也是一个应用层协议, 是在 HTTP 协议的基础上引入了一个加密层。HTTP 协议内容都是按照文本的方式明文传输的, 这就导致在传输过程中出现一些被篡改的情况。如运营商劫持。 HTTPS工作过程 ① 既然要保证数据安全, 就需要进行 “加密”。…

【python】如何把你的python包发布出去(pip install)

python:如何把你的python包发布出去(pip install) 介绍 实际上分为两步 打包发布 我们要发布的网站是https://pypi.org/。也就是用户通过pip install XXX,就可以安装你的包。 1 通过setuptools打包 需要我们编写setup.py f…

数据库的事务

作者:~小明学编程 文章专栏:MySQL 格言:目之所及皆为回忆,心之所想皆为过往 目录 什么是事务? 事务的特性 原子性 一致性 持久性 独立性 事务之间的影响 脏读 不可重复读 幻读 数据库的隔离级别 读未提交…

kvm介绍

kvm里主要去介绍它的虚拟化技术,包括云计算的组成和云计算的背景。 kvm的运行原理,虚拟机的创建,虚拟机的生命周期管理。 云计算的定义 它不是一种技术,它是一种收费模式,就是通过互联网把一些主机的硬件&#xff0…

2021年我国企业服务市场投融资概况 技术服务单笔规模最大 早期融资笔数最多

一、企业服务投融资年度概况 据相关数据显示,2021年我国企业服务市场共发生2417笔投融资事件,其中,1753笔项目已披露融资金额。从月度分布来看,3月、6月、7月、8月和12月的融资数量均在200起以上,其中,12月…

[附源码]Python计算机毕业设计高校学生体温管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

Python实现:高斯滤波 均值滤波 中值滤波 Canny(边缘检测)PCA主成分分析 直方图规定化 Mean_Shift

Python实现:高斯滤波 均值滤波 中值滤波 Canny(边缘检测)PCA主成分分析 直方图规定化 Mean_Shift(文末附上整合这些函数的可视化界面并且已做打包处理) 1.高斯滤波(以下函数所有的图片路径为方便前来copy的同学&#…

微服务框架 SpringCloud微服务架构 多级缓存 46 JVM 进程缓存 46.4 实现进程缓存

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 多级缓存 文章目录微服务框架多级缓存46 JVM 进程缓存46.4 实现进程缓存46.4.1 实现进程缓存46 JVM 进程缓存 46.4 实现进程缓存 46.4.1 实…

Linux从入门到进阶学习(Ⅱ):Linux基础命令

目录 1 Linux目录结构 2 命令格式 3 目录切换命令 3.1 ls命令 3.2 选项与参数 3.3 目录切换 1.cd 2.pwd 4 路径 5 创建目录命令 6 文件操作命令 6.1 创建文件 6.2 查看文件 6.3 复制文件 6.4 移动文件 6.5 删除文件 1.rm命令 2.通配符 3.root用户 7 查找命…

C语言期末集训2(大一,超基础,小猫猫大课堂的配套练习)——分支结构

更新不易,麻烦多多点赞,欢迎你的提问,感谢你的转发, 最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!! 喵喵喵,你对我…

分库分表 15 连问,你抗的住吗?

我们去面试的时候,几乎都会被问到分库分表。 在这里整理了分库分表的15道经典面试题,大家看完肯定会有帮助的。 1. 我们为什么需要分库分表 在分库分表之前,就需要考虑为什么需要拆分。我们做一件事,肯定是有充分理由的。所以得…