线程数,加速周期,循环计数,jmeter中的调度程序持续时间

时间:2013-05-10 18:19:58

标签: jmeter

我是Jmeter的新手并且对这4个设置感到困惑:

  • 线程数,
  • 加速期,
  • 循环计数,
  • 调度程序中的持续时间。

    Thread Group 1: # of threads:1, ramp up period:0, loop count:5, no scheduler
    Thread Group 2: # of threads:5, ramp up period:0, loop count:1, no scheduler
    Thread Group 3: # of threads:1, ramp up period:1s, loop count:5, no scheduler
    Thread Group 4: # of threads:5, ramp up period:5s, loop count:1, no scheduler
    Thread Group 5: # of threads:1, ramp up period:1s, loop count:forever, duration in scheduler:5s
    Thread Group 6: # of threads:5, ramp up period:5s, loop count:forever, duration in scheduler:5s
    
    1. 线程组1和2之间有什么区别吗?
    2. 每个循环之间的时间上限有多长?
    3. 线程组3,4,5和6之间有什么区别吗?
    4. 第3,4,5和6组都需要5秒才能完成发送所有请求吗?结果总数应该是每组5个吗?
    5. 当我尝试线程组5时,我得到了大约83个回复,为什么不只有5个回复?这是否意味着加速期不起作用?

我对这些群体之间的差异感到困惑,希望有人可以帮助我。非常感谢提前!

2 个答案:

答案 0 :(得分:9)

首先,每个参数的简短定义:

  1. 线程数:模拟用户数

  2. 加速期:Jmeter启动所有线程所需的时间

  3. 循环次数:每个线程执行测试用例的次数

  4. 调度程序中的持续时间:运行测试的持续时间。在这种情况下,应忽略结束时间字段中的值,并从起始时间和持续时间计算相对结束时间

  5. 这里需要了解的重要一点是,Ramp-up周期与Loop计数无关。它只与线程数有关。如果有10个线程并且加速时间为100秒,则每个线程将在上一个线程启动后10秒开始,总时间为100秒以启动线程组中的所有线程。

    现在每个线程组案例的答案:

    Thread Group 1: # of threads:1, ramp up period:0, loop count:5, no scheduler
    Thread Group 2: # of threads:5, ramp up period:0, loop count:1, no scheduler
    Thread Group 3: # of threads:1, ramp up period:1s, loop count:5, no scheduler
    Thread Group 4: # of threads:5, ramp up period:5s, loop count:1, no scheduler
    Thread Group 5: # of threads:1, ramp up period:1s, loop count:forever, duration in scheduler:5s
    Thread Group 6: # of threads:5, ramp up period:5s, loop count:forever, duration in scheduler:5s
    
      

    Q1。线程组1和2之间有什么区别吗?

    线程组1有一个线程,它将重复相同的测试5次,即当一个测试完成重复测试,直到达到5的循环计数

    线程组2有5个线程,当Ramp-up Period为0时将同时启动,因此它将在系统上同时模拟5个用户

      

    Q2。每个循环之间的时间上限有多长?

    时间上限是上升期间的一个因素,它在线程组中的线程数之间平均分配。循环是一个连续的过程,一直持续到达到循环计数。 “时间上限”不是JMeter文档中使用的术语,但假设您的意思,如果您需要细粒度控制,可以使用Test Action或其他JMeter机制在循环之间进行设置。

      

    Q3。线程组3,4,5和6之间有什么区别吗?

    是的,所有参数都不同,所以如上所述,行为是不同的。

      

    Q4。 3组,4组,5组和6组是否需要5秒才能完成发送所有请求?结果总数应该是每组5个吗?

    不,每种情况都是主观的。 在线程组3中,单个线程应执行相同的线程5次,因此无法随时控制

    在线程组4中,有5个线程并且基于加速周期,每个线程应该在另一个之后1秒开始,因此完成测试至少需要4-5秒(在最后一个之后)试验)

    线程组5和6每个只运行一段时间,持续5秒。如果测试在此之前完成则再罚款,否则测试应终止并停止

      

    Q5。当我尝试线程组5时,我得到了大约83个响应,为什么不只有5个响应?这是否意味着加速期不起作用?

    为什么只有5个回复?线程组5应创建一个线程,该线程将永远执行循环测试。如果未定义持续时间,则测试将在无限循环中运行。由于定义了持续时间,因此测试只能持续一段时间。

    全部注意:循环计数是特定于线程的。它指定了每个线程应重复测试的次数。加速期与#Thread(用户)相关,与循环次数无关

答案 1 :(得分:3)

  1. 是的,1模拟一个用户在Thread Group1中进行5次测试场景,2,模拟5个用户执行测试场景一次
  2. 如果您不使用任何计时器
  3. ,请耐心等待
  4. 是,3与线程组1相同,4与线程组2相同,但用户在彼此之后1s启动,5,与线程组1相同但运行5秒,因此您不知道它有多少次将执行。 6与线程组2相同但运行5秒
  5. 5和6将运行5秒,3和4,如3中所述 5.因为你没有设置任何计时器而没有任何暂停,它会运行5秒钟。由于您只有一个线程,它会立即启动并运行5秒钟。
  6. 读: