JMeter中的循环计数和加速周期

时间:2017-05-10 14:14:01

标签: jmeter

我创建了一个集合,只是与Loop Count和Ramp Up期间混淆了。 我有一个带有以下参数的测试集。

Threads        =  30
Ramp Up Period =  30
Loop Count     =  100

根据页面 quora

我想: enter image description here

a) If Loop count is Zero, then each of the 30 threads will be starting every second. As per the shared the web page, I guess 30/30 * 100 ie 100 threads/requests will be hitting the server every second. Please correct me if I am wrong.  

b) As per the above parameters, there will be a total of 30 * 100 threads/requests. Does this mean all the 3000 threads/requests will be sent within 30 seconds [ Ramp Up period ]

2 个答案:

答案 0 :(得分:5)

假设您有30个用户且30秒加速

  1. JMeter将每秒启动每个虚拟用户
  2. 每个虚拟用户将开始执行采样器(或logic controllers,如果有的话)尽可能快(如果您不使用timers因此,交付的负载可以多于或少于30个请求/秒,这取决于JMeter执行请求的速度和应用程序响应时间,因为JMeter将在开始新的之前等待前一个采样器的响应
  3. 当虚拟用户完成执行test plan中定义的所有采样器时,它将重新开始并执行第2点以进行99次迭代
  4. 当虚拟用户没有更多的采样器要执行并循环迭代时,它将关闭
  5. 一些提示:

    • 根据您的测试计划配置,您可以使用Server Hits Per Second侦听器查看您实际每秒发出的请求数
    • 您可以通过Constant Throughput Timer
    • 控制每秒的请求数
    • 考虑升级到JMeter 3.2,因为较新的JMeter版本通常包含新功能,性能改进和错误修复

答案 1 :(得分:1)

根据jmeter手册提升:

  

JMeter需要多长时间才能启动所有线程。   如果有10个线程和100秒的加速时间,那么每个   线程将在上一个线程启动后10秒开始,为a   完成测试的总时间为100秒。

因此,如果您的目标是在30秒内达到3000请求而上述情况不会发生,则可能需要更多时间,具体取决于完成您发送的请求需要多少费用。

如果您正在寻找Throughput,可以添加aggregate report监听器,为您计算吞吐量,并根据结果配置您的线程属性以达到目标。

参考: Jmeter user manual