Fork me on GitHub

【jmeter系列】jmeter常用线程组带实例

Jmeter中通过线程组来模拟大用户并发场景,今天主要介绍三个常用的线程组,帮助我们设计更加完善的测试场景

一、Thread Group

  • 取样器错误后要执行的动作

        继续:遇错误继续执行,不影响场景运行。默认为继续,常用。

        Start Next Thread Loop:执行下次循环,当前循环剩余sampler不再执行。

        停止线程:停止当前线程,其他线程继续执行。

        停止测试:执行完剩余线程后停止测试。

        Stop Test Now:立即停止所有线程。

  • 线程属性

        线程数:即并发数,如图设置为100并发

        Ramp-Up Period (in seconds):并发用户加载时间,如图设置为1s,执行时1s内要加载100并发数

        循环次数/永远:填写具体数字,即为并发执行循环次数,一次场景下来,请求的数量=线程数*循环次数;选择永远,则一直执行下去,除非手工停止。

        Delay Thread creation until needed:延迟线程创建,知道需要时才创建。

        调度器:勾选后,调度器配置项设置生效,可设置场景持续执行时间、延迟启动时间、启动时间、结束时间。

        持续时间:场景持续执行的时间

        启动延迟:延迟多久执行

 

 

二、jp@gc - Stepping Thread Group (deprecated)

        初次安装Jmeter,是看不到jp@gc - Stepping Thread Group (deprecated)和jp@gc - Ultimate Thread Group的,因为这两个线程组是Jmeter Plugins提供的。

  • 安装步骤

        打开Jmeter,菜单栏,选项》Plugins Manager》Custom Thread Groups组件安装,安装后重启Jmeter,右键添加线程组中即可看到。

  • 参数说明

        This group will start:线程数,图中为100个线程

        First wait for:第一个线程延迟多久启动,上图是0秒

        Then start:初始加载多少个个现成,图中为0个

        Next,add:下次加载多少个线程,图中为10个

        Threads every:运行多久后再加载线程,图中为1s

        Using ramp-up:加载next线程的时间,图中为0s,即初始化情况下,0s内加载10个线程,然后每隔1s再加载10个,加载100个需要9s。

        Then hold load for:全部线程加载完毕后持续运行多久,单位s,上图是100个线程全部加载完毕,持续运行60s。即,100并发运行60s。

        Finally stop/threads every:多长时间停止多少线程,上图是在1s内停止10个线程,停止100个需要9s.

       Elapsed time:加载线程的时间9s+持续运行的时间60s+线程停止的时间9s=78s

 

 

 场景实例:

最大并发300,100并发100并发递增施压,每100并发持续30s,达到300并发后持续运行60s,然后立即结束

场景分析:

依据场景中的数据对号入座即可。实现如图

 

 

三、jp@gc - Ultimate Thread Group

  • 参数说明

        Start Thread Count:开始线程数量,即并发数,图中为10个并发

        Initial Dealay,sec:线程延迟运行时间,图中为0,及不延迟启动。

        Startup Time,Sec:线程加载时间,图中为10s,即10s启动100个线程。

        Hold Load For,Sec:持续运行时间,图中为60s。

        Shutdown Time:停止线程时长,图中为10s。

       Elapsed time=Initial Dealay+Startup Time+Hold Load For+Shutdown Time

 

 场景实例:

 

场景:

 

最大300并发, 100并发递增施压,每段运行600s。

 

场景分析:

 

第一段:100并发运行600s;

 

第二段:200并发运行600s;

 

第三段:300并发运行600s

 

需要计算:总持续时间1800s(Hold Load For,sec不能超过1800,每段运行时间为1800,1200,600),

 

每段间隔600s(Initial Delay,sec为0,600,1200)。

 

通过阶段场景的设计,结合jp@gc - Transactions per Second,根据出错带点可以找到系统支持的最优并发数

 

 

posted @ 2022-03-03 10:15  橘子偏爱橙子  阅读(572)  评论(0编辑  收藏  举报