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

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

Jmeter(三十六) - 从入门到精通进阶篇 - 设置负载阶梯式压测场景(详解教程)_第1张图片

如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386   

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337 

Jmeter(三十六) - 从入门到精通进阶篇 - 设置负载阶梯式压测场景(详解教程)_第2张图片

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

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

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

下载界面如下:

Jmeter(三十六) - 从入门到精通进阶篇 - 设置负载阶梯式压测场景(详解教程)_第3张图片

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

3.步长插件介绍

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

Jmeter(三十六) - 从入门到精通进阶篇 - 设置负载阶梯式压测场景(详解教程)_第4张图片

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

Jmeter(三十六) - 从入门到精通进阶篇 - 设置负载阶梯式压测场景(详解教程)_第5张图片 3.设置Step或者步长,然后看下面曲线图,如下图所示:

Jmeter(三十六) - 从入门到精通进阶篇 - 设置负载阶梯式压测场景(详解教程)_第6张图片

解释下参数设置:

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

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

③ 10个用户开始

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

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

⑦ 持续压测60秒,一分钟

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

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

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

4.实例实战

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

Jmeter(三十六) - 从入门到精通进阶篇 - 设置负载阶梯式压测场景(详解教程)_第7张图片

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

Jmeter(三十六) - 从入门到精通进阶篇 - 设置负载阶梯式压测场景(详解教程)_第8张图片 3. 点击运行测试,等待4分十秒,看看结果这里我们主要看看AggregateGraph这个报告。勾选以下红圈的,如下图所示:

Jmeter(三十六) - 从入门到精通进阶篇 - 设置负载阶梯式压测场景(详解教程)_第9张图片

Jmeter(三十六) - 从入门到精通进阶篇 - 设置负载阶梯式压测场景(详解教程)_第10张图片 

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

Jmeter(三十六) - 从入门到精通进阶篇 - 设置负载阶梯式压测场景(详解教程)_第11张图片

5.小结

什么是实际的性能测试

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

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

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

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

Jmeter(三十六) - 从入门到精通进阶篇 - 设置负载阶梯式压测场景(详解教程)_第12张图片

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

你可能感兴趣的:(jmeter,开源,python,软件测试,http)