1.简介

  在性能测试中,有时需要模拟一种实际生产中经常出现的情况,即:从某个值开始不断增加压力,直至达到某个值,然后持续运行一段时间,然后继续加压达到某个值持续运行,如此循环直到达到预期的峰值,运行一段时间。

  在jmeter中,有这样一个插件,可以帮我们实现这个功能,这个插件就是:Stepping Thread Group ,也就是常说的步长插件。

2.测试准备

  Stepping Thread Group是jmeter插件的一种,其作用就是模拟实际的生产情况,不断对服务器施加压力,直至到某个值,然后持续运行一段时间。

1.首先给你的JMeter安装一个插件管理器,下载地址:https://jmeter-plugins.org/install/Install/  具体步骤:

(1)在地址栏输入:https://jmeter-plugins.org/downloads/all/
(2)下载放到jmeter解压缩文件的\lib\ext目录下,
(3)然后重新启动打开jmeter

2.如果觉得下载页面慢或者不想下载的可以关注宏哥的公众号后,输入:插件管理,获取这个插件plugin manager。

3.在Available Plugins选项中输入jpgc后空格,就可以搜索出jpgc插件,然后勾选jpgc - Standard Set后,点击Apply Changes and Restart JMeter后等待插件安装完成。

4.如果下载失败,可以在这个地址下载,下载地址:https://jmeter-plugins.org/downloads/old/

下载界面如下:

5.下载后需要解压,然后将JMeterPlugins-Standard.jar包放在jmeter安装目录的jmeter-3.0\lib\ext路径下,重新启动jemter即可。

3.步长插件介绍

1.新建一个jpgc的Thread Group点击add-Thread,如下图所示:

2.选jpgc stepping group,如下图所示:

3.设置Step或者步长,然后看下面曲线图,如下图所示:

解释下参数设置:

① 表示这个线程会最大用户是100个

② 等待10秒,这个时候还没有用户进入

③ 10个用户开始

④ 和 ⑤ 这里一起理解,每10秒进10个用户

⑥ ramp-up,这里设置0,例如40个用户直接添加到50个用户,没有使用曲线添加。

⑦ 持续压测60秒,一分钟

⑧ 和 ⑨,退用户,每10秒退出10个用户。

⑩ 上面各种设置的图形表示

根据下面的图形,对照上面的各个输入框的设置,就应该很好理解这个压力负载场景。

4.实例实战

1. 在上边的基础上,添加一个HTTP Request,百度举例,如下图所示:

2. 添加三种类型报告,如下图

3. 点击运行测试,等待4分十秒,看看结果这里我们主要看看AggregateGraph这个报告。勾选以下红圈的,如下图所示:

4.点击 DisplayGraph,如下图所示:

5.小结

什么是实际的性能测试

1)有思考时间,用户在做不同操作之间有时间停顿,或者延迟,思考时间就是模拟用户的操作过程中的停顿的间。

2)步伐,速度:主要包括,大量用户进来的时间和退出时间,控制迭代之间的时间,例如,前面文章介绍的一个现场用户20个,设置5秒内全部进入,就是这样的情况。

3)压力测试时间:加入我需要500个人同时测试30分钟,这里持续30分钟就是压测时间。

所以,真实的性能测试场景是,例如,一开始有不部分人已经进入页面,这里加入5个用户,然后我需要持续添加用户进入,例如10秒进入2个用户,一共需要进入500个人,然后保持500个用户,做同样操作30分钟,最后开始,陆续退出用户,例如10秒退5个用户。如果这个过程,用坐标和曲线表示,刚好就是一个梯形的图形。如果,你使用过Loadrunner的压力负载场景设计,你就很清楚这个过程。像下面这个图片

解释一下这个场景,开始从0开始进入用户,一分钟就进入了10个,持续时间是5分钟,第六分钟开始退出用户,这里30秒内全部退出10个用户。

好了。今天关于这个经常在性能测试中用到的插件宏哥就分享和讲解到这里,给大家提供一种思路和方法,希望对各位有所帮助。

您的肯定就是我进步的动力。如果你感觉还不错,就请鼓励一下吧!记得随手点波  推荐  不要忘记哦!!!

别忘了点 推荐 留下您来过的痕迹

Jmeter(三十六) - 从入门到精通进阶篇 - 设置负载阶梯式压测场景(详解教程)的更多相关文章

  1. Jmeter(三十四) - 从入门到精通进阶篇 - 参数化(详解教程)

    1.简介 前边三十多篇文章主要介绍的是Jmeter的一些操作和基础知识,算是一些初级入门的知识点,从这一篇开始我们就来学习Jmeter比较高级的操作和深入的知识点了.今天这一篇主要是讲参数化,其实前边 ...

  2. Jmeter(三十八) - 从入门到精通进阶篇 - 命令行运行JMeter详解(详解教程)

    1.简介 前边一篇文章介绍了如何生成测试报告,细心地小伙伴或者同学们可以看到宏哥启动Jmeter生成测试报告不是在gui页面操作的,而是在gui页面设置好保存以后,用命令行来生成测试报告的.这一篇宏哥 ...

  3. Jmeter(三十五) - 从入门到精通进阶篇 - 关联(详解教程)

    1.简介 上一篇中介绍了如果想要同时发送多条请求,那么怎样才能让每条数据某些请求参数改变呢.这就用到了jMeter参数化.在实际测试场景中,我们往往还有这样的需求,登录后服务器响应的token作为下次 ...

  4. Jmeter(四十六) - 从入门到精通高级篇 - Jmeter之网页图片爬虫-下篇(详解教程)

    1.简介 上一篇介绍了爬取文章,这一篇宏哥就简单的介绍一下,如何爬取图片然后保存到本地电脑中.网上很多漂亮的壁纸或者是美女.妹子,想自己收藏一些,挨个保存太费时间,那你可以利用爬虫然后批量下载. 2. ...

  5. Jmeter(四十二) - 从入门到精通进阶篇 - Jmeter配置文件的刨根问底 -番外篇(详解教程)

    1.简介 为什么宏哥要对Jmeter的配置文件进行一下讲解了,因为有的童鞋或者小伙伴在测试中遇到一些需要修改配置文件的问题不是很清楚也不是很懂,就算修改了也是模模糊糊的.更有甚者觉得那是禁地神圣不可轻 ...

  6. 《手把手教你》系列技巧篇(三十四)-java+ selenium自动化测试-单选和多选按钮操作-中篇(详解教程)

    1.简介 今天这一篇宏哥主要是讲解一下,如何使用list容器来遍历单选按钮.大致两部分内容:一部分是宏哥在本地弄的一个小demo,另一部分,宏哥是利用JQueryUI网站里的单选按钮进行实战. 2.d ...

  7. 《手把手教你》系列技巧篇(三十五)-java+ selenium自动化测试-单选和多选按钮操作-下篇(详解教程)

    1.简介 今天这一篇宏哥主要是讲解一下,如何使用list容器来遍历多选按钮.大致两部分内容:一部分是宏哥在本地弄的一个小demo,另一部分,宏哥是利用JQueryUI网站里的多选按钮进行实战. 2.d ...

  8. Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)

    1.简介 JMeter是一款压力.接口等等的测试工具,Jmeter也可以像loadrunner一样监控服务器CPU.内存等性能参数,用来监控服务器资源使用情况,不过需要安装一些插件.JMeter正常自 ...

  9. Jmeter(四十九) - 从入门到精通高级篇 - jmeter使用监视器结果监控tomcat性能(详解教程)

    1.简介 上一篇宏哥讲解了利用jmeter的插件来监控服务器资源,这一篇讲解分享如何使用jmeter的监视器结果监控tomcat性能. 2.准备工作 文章标题中提到jmeter和tomcat,那么只需 ...

随机推荐

  1. 一段小代码秒懂C++右值引用和RVO(返回值优化)的误区

    关于C++右值引用的参考文档里面有明确提到,右值引用可以延长临时变量的周期.如: std::string&& r3 = s1 + s1; // okay: rvalue referen ...

  2. ASP.NET Core 中间件的使用(二):依赖注入的使用

    写在前面 上一篇大家已经粗略接触了解到.NET Core中间件的使用:ASP .Net Core 中间件的使用(一):搭建静态文件服务器/访问指定文件, .NET Core框架中很多核心对象都是通过依 ...

  3. 一劳永逸,解决基于 keep-alive 的后台多级路由缓存问题

    用过 vue-element-admin 的同学一定很清楚,路由的配置直接关系侧边栏导航菜单的展示,也得益于这种设计思路,几乎大部分后台框架都采用这个方案,当然也包括了我写的 Fantastic-ad ...

  4. python之列表操作的几个函数

    Python中的列表是可变的,这是它却别于元组和字符串最重要的特点,元组和字符串的元素不可修改.列举一些常用的列表操作的函数和方法. 1,list.append(x),将x追加到列表list末尾: 1 ...

  5. 在飞儿云主机里使用酷Q时遇到相关问题的解决办法

    情况1:酷Q Air版本可以使用,而Pro版本无法运行 解决方法如下: p.p1 { margin: 0; font: 13px "Helvetica Neue"; color: ...

  6. 【命令】ps命令

    1.功用: <---用于报告当前系统的进程状态,实际是将/proc/目录下的各个进程的相关信息转换为我们易读的模式展现出来:可以搭配kill指令随时中断.删除不必要的程序---> 语法格式 ...

  7. ucore操作系统学习(七) ucore lab7同步互斥

    1. ucore lab7介绍 ucore在前面的实验中实现了进程/线程机制,并在lab6中实现了抢占式的线程调度机制.基于中断的抢占式线程调度机制使得线程在执行的过程中随时可能被操作系统打断,被阻塞 ...

  8. 【老孟Flutter】2020年总结

    2020年是我经历的最不平凡的一年,这一年有遗憾.有收获,有感概,也有庆幸,庆幸自己还活着. 用一句话总结自己的2020,忙并收获着,累并快乐着. <Flutter 实战入门> <F ...

  9. 《深入理解 Java 虚拟机》读书笔记

    第二章 Java 内存区域与内存溢出溢出 程序计数器 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器.字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的 ...

  10. ArrayList哪种遍历效率最好,你真的弄明白了吗?

    ArrayList简介 声明:以下内容都是基于jdk1.8的 ArrayList 是一个数组队列,相当于 动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractList,实现了 ...