Jmeter---不同线程组的使用介绍(转)

在添加线程组:发现线程组种类挺多的  翻查资料后对几个工具进行总结;

原本想写三个 在翻阅资料,后发现下面博文比较详情,

本文大部分来自:

https://blog.csdn.net/sinat_32434273/article/details/81119516

本文 jmeter 版本是5.0

=======================================================================================

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

基本的线程:

  • Thread Group 
  • setup Thread Group
  • tearDown Thread Group

通过插件形式添加的包括:

  • bzm - Arrivals Thread Group 
  • bzm - Concurrency Threadp Group
  • bzm - Free_From Arrivals Thread Group
  • jp@gc - Stepping Thread Group(被弃用)
  • jp@gc - Ultimate Thread Group

Thread Group、setUp Thread Group和tearDown Thread Group

(1)Thread Group是我们通常使用的线程,模拟用户数,每一个线程就相当于一个虚拟的用户;

(2)setUp Thread Group是一个特殊的线程组,用于执行测试之前的初始化操作;

(3)tearDown Thread Group是一个特殊的线程组,用于执行测试结束之后的回收工作;

Thread Group 线程组

线程组,或者可以叫用户组,进行性能测试时的用户资源池

是任何一个测试计划的执行开始点;

是控制器 和HTTP请求(采集器)必须在线程组内,监听器等其他组件,可以直接放在测试计划之外;

线程组 每个字段设置的定义:

按照下面三个功能进行区分:

1.区域1:在取样器出现错误后要执行的动作, 意思如果采样器出现错误,将按照此设置执行

       1.1 continue(继续):将继续执行接下来的操作;

        1.2 start next thread loop: 忽略错误,执行下一次循环;

         1.3 stop thread :停止当前线程(不在进行此线程的任何操作);

         1.4 stop test: 等等当前采样器执行结果后, 停止整个测试;

         1.5 stop test now: 立即停止所有测试;

 

2. Thread Properties 线程属性:

    2.1 number of threads : 并发线,模拟多少个虚拟用户操作

   2.2 ramp_up period : 达到指定线程需要的时间,即在设置时间内线程数达到设定的线程数,不知道为所有线程全部启动;如图片表示线程数是50个,时间设置3,每秒需要启动的线程数是:50/3=16.666

   2.3 loop count : 循环次数, 如果不设定具体的值,就会一直循环下去,知道手动停止

   2.4 delay thread creation until need 直到需要时延迟线程的创建

   2.5 sceduler :调度器

3.Scheduler Configuration 调度器设置: 

   3.1 duration(seconds):压测持续时间

   3.2 start delay (seconds): 启动延迟时间,即点击启动后在改时间之后才正式开始测试

2、Concurrency Thread Group、Stepping Thread Group

Concurrency Thread Group和Stepping Thread Group都可用于阶梯式加压测试,但是由于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、Ultimate Thread Group

该线程组与Concurrency Thread Group相类似,可以设置多个线程组的结合,各个时刻的运行结果都是几个线程组的叠加。

 

start threads count:目标并发数

initial delay:启动延迟时间

startup time:启动目标线程所需时间

hold load for:以目标线程并发持续加压时间

shutdown time:结束当前线程时间

4、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个请求数。

5、Free-Form Arrivals Thread Group

该线程组与Arrivals Thread Group类似,不过是通过设置起始值、终止值和持续时间来达到压测目的。而且可以设置多个线程的集合。

 

 

 

原文地址:https://www.cnblogs.com/shoebill/p/10883126.html