> 文章列表 > 学会这些Jmeter插件,才能设计出复杂性能测试场景

学会这些Jmeter插件,才能设计出复杂性能测试场景

学会这些Jmeter插件,才能设计出复杂性能测试场景

为什么要使用jmeter线程插件呢?

jmeter自带的线程组插件模拟的压测场景非常有限,当需要模拟复杂压测场景的时候,推荐大家使用jmeter线程组插件。

如何下载jmeter线程组插件呢?

早期版本的jmeter可以针对我们需要的扩展功能,直接提供下载地址进行下载,但最近的jmeter版本已经不支持直接下载插件包了,取而代之,需要下载一个帮助我们下载插件的下载插件管理工具。

 插件管理工具的官网下载地址如下:

Install :: JMeter-Plugins.org

点击“plugins-manager.jar”链接,等待插件管理jar包下载完毕后,拷贝到jmeter目录下的\\lib\\ext下 

如果jmeter此时处于启动状态,需要重启jmeter,顺带说明下,jmeter的官网下载地址为:http:navo.top/yIBzqe

在jmeter窗口中,依次单击菜单项Option选项 -》Plugins Manager,在弹出的插件下载窗口JMeter Plugins Manager中,

选中选项卡“Installed  Plugins”,

在搜索框中输入“Custom Thread Groups”

勾选“Custom Thread Groups”,单击【Apply Changes and Restart JMeter】,等待线程组插件下载完毕并重启jmeter。

接下来是如何使用线程组插件?

常用的线程组插件为Ultimate Thread Group插件和Custom Thread Groups插件。下面分别介绍这两个线程组插件。

01 Ultimate Thread Group插件

如何打开Ultimate Thread Group插件?

在jmeter窗口中,依次单击菜单项:测试计划 ->右键 ->添加 ->线程组 ->jp@gc - Ultimate Thread Group,这样就打开了Ultimate Thread Group插件。

如下线程组执行计划表中的各个列的含义如下:

  • Start Threads Count:当前行启动的线程总数

  • Initial Delay/sec:延时启动当前行的线程,单位:秒

  • Startup Time/sec:启动当前行所有线程达峰值所需时间,单位:秒

    Hold Load For/sec:当前行线程达到峰值后的稳定加载时间,单位:秒Shutdown Time:停止当前行所有线程所需时间,单位:秒

    使用Ultimate  Thread   Group可以实现模拟简单并发场景、2^n步进场景、浪涌场景、锯齿状场景**。下面分别说明如何设置这些场景。

    (1)简单并发场景设置

    单击【Add Row】,在Start Threads Counts列设置100并发,缓增压Startup Time列值为30sec完成, 持续运行Hold Load For列值为60秒,缓减压Shutdown列值为10sec完成。

    (2)浪涌场景设置**

    浪涌场景设置特点:

    第1次加载100并发,加载30sec,减压10sec,持续60sec;

    第2次加载200并发,延迟100sec(=30sec+10sec+60sec),加载30sec,减压10sec,持续60sec;

    第3次加载100并发,延迟200sec(=100sec+100sec),加载30sec,减压10sec,持续60sec;

    第4次加载200并发,延迟300sec(=200sec+100sec),加载30sec,减压10sec,持续60sec

    模拟一段时间内压力高持续一段时间后,压力更高持续一段时间后, 压力稍微降下来这种向海浪一样的业务系统压力。

    02 Custom Thread Groups插件 

    如何打开Custom Thread Groups插件?

    在jmeter窗口中,依次单击菜单项:测试计划 -》添加 -》 线程组(用户)-》jp@gc - Stepping Thread Group,这样就打开了Custom Thread Groups插件。

    如下线程组执行计划参数,各参数的含义分别为:

    this group will start * threads**:加载多少线程,100

    First,wait for * seconds:等待多长时间开始加载线程(第一个线程延迟多少秒开始加载),0

    Then start * threads**初次加载多少个线程,0

    Next,add * threads every * seconds 下次加载几个线程,10,当前运行多长时间后再次加载线程using ramp-up:加载线程时间,5秒,也就是说10个线程在5秒内加载完毕

    then hold load for * seconds  线程全部加载完成后运行多长时间,60秒

    Finally,stop * threads every ... seconds**:多长时间停止多少个线程,每1秒停止5个线程 

    Custom Thread Groups插件常用于模拟负载测试场景。 

  •