线程数、上升周期、循环计数、调度器持续时间(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个响应?这是否意味着上升期没有起作用?

我对这些组之间的差异感到很困惑,希望有人能帮助我。提前感谢!

首先,各参数的简短定义:

  1. Number of Threads:模拟用户数量

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

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

  4. 调度程序中的持续时间:要运行测试的持续时间。在这种情况下,end-time字段的值将被忽略,相对的结束时间将从

  5. 开始时间和持续时间计算。

这里需要理解的一件重要的事情是,上升周期与循环计数无关。它只与线程数有关。如果有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机制在循环之间设置它。

第三季。线程组3,4,5和6有什么不同吗?

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

第四季度。第3、4、5和6组是否都需要5秒来完成发送所有请求?每组结果的总数应该是5个吗?

不,每个条件都是主观的。在线程组3中,单个线程将执行同一线程5次,因此无法控制时间

在线程组4中,有5个线程,根据启动周期,每个线程应该在1秒后启动,因此至少需要4-5秒才能完成测试(在上一次测试之后)

线程组5和6各自只运行5秒。如果在此之前完成测试则为fine,否则应终止并停止测试

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

为什么只有5个答案??线程组5将创建一个线程,该线程将永远执行test in循环。如果没有定义持续时间,测试将在无限循环中运行。由于持续时间已定义,因此测试应仅在持续时间内运行。

所有人注意:循环计数是特定于线程的。它指定每个线程应该重复测试的次数。上升周期与#Thread (User)有关,与循环计数

无关。
  1. 是的,1模拟一个用户在线程组内执行5次测试场景,1,2模拟5个用户一次执行测试场景
  2. 如果你不使用任何定时器,则没有时间
  3. 是的,3个与线程组1相同,4个与线程组2相同,但用户依次启动15秒,5个与线程组1相同,但运行5秒,所以你不知道它将执行多少次。6与线程组2相同,但运行5秒
  4. 5和6将运行5秒,3和4如3中所述。没有5.因为它运行了5秒,没有任何暂停,因为你没有设置任何计时器。当你只有一个线程时,它会立即启动并运行5秒。

:

  • http://jmeter.apache.org/usermanual/test_plan.html

最新更新