• JMeter性能测试入门-不同类型线程组的使用


    jmeter不同线程组的详解

    在做性能测试之前,我们来了解一下JMeter多个不同线程组的应用。首先,JMeter提供了三个基本的线程组,分别为:

    • Thread Group
    • setUp Thread Group
    • tearDown Thread Group

    其他线程组可以通过集成插件的方式使用,包括:

    • bzm - Arrivals Thread Group
    • bzm - Concurrency Thread Group
    • bzm - Free-Form Arrivals Thread Group
    • jp@gc - Stepping Thread Group
    • jp@gc - Ultimate Thread Group

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

    1、Thread Group、setUp Thread Group和tearDown Thread Group

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

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

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

    以上,setUp Thread Group和tearDown Thread Group分别在测试前后执行;例如,在我们在执行压力测试前后,我们可以把登录操作放在setUp Thread Group,测试结束后将注销操作放在tearDown Thread Group;

    详细说明如下图所示:

    采样器执行出错之后如何处理:

    continue:继续执行

    start next thread loop:开始下一个循环

    stop thread:停止当前线程

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

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

    线程属性:

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

    ramp-up period:达到指定线程需要的时间,即在该时间范围内达到设定的线程数

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

    调度器设置:

    duration:压测持续时间

    startup delay:启动延迟时间,即点击启动后在该时间之后才正式开始测试

    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://blog.csdn.net/sinat_32434273/article/details/81119516

  • 相关阅读:
    UOS安装gitlab
    docker中连接sqlserver 2008R2(SP3) 失败解决方法
    AtCoder AGC020 E-Encoding Subsets
    CF1553H XOR and Distance
    CF1039E Summer Oenothera Exhibition
    HDOJ 6991 Increasing Subsequence
    HDOJ 6964 I love counting
    Topcoder 15279 SpanningSubgraphs
    全程NOIP计划 题目选做
    分层图总结
  • 原文地址:https://www.cnblogs.com/mumulog/p/11454522.html
Copyright © 2020-2023  润新知