zoukankan      html  css  js  c++  java
  • 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类似,不过是通过设置起始值、终止值和持续时间来达到压测目的。而且可以设置多个线程的集合。

     

     

     

  • 相关阅读:
    第四篇--Beyond Compare4 试用期30天后
    第七篇--如何改变vs2017版的背景
    第四篇--git 上传可能出现的问题
    第六篇--MFC美化界面
    第五篇--VS2017如何生成Dll文件
    第四篇--窗体风格
    第四十八篇--数据库的增删改查
    第四十七篇--重命名包名的方法以及问题解决方法
    第三篇--如何修改exe文件版本号和文件信息
    《Java虚拟机原理图解》 1.1、class文件基本组织结构
  • 原文地址:https://www.cnblogs.com/shoebill/p/10883126.html
Copyright © 2011-2022 走看看