Jmeter - 线程组和循环控制器之间在性能方面的差异

时间:2014-09-03 18:21:01

标签: jmeter

我是Jmeter的新手。这是令我困惑的一件事

我正在测试两种使用Jmeter计算性能数的方案

  1. 将1个线程组设置为循环计数设置为50且具有一个https采样器。
  2. 拥有1个线程组,其循环次数仅为1,而是使用循环计数设置为50的循环控制器。在这种情况下,我的https采样器位于循环计数内。
  3. 在这两种情况下,https采样器运行50次,但我注意到很多性能差异。

    For 1 - 100 ms ( Average of 50 calls)
    For 2 - 30 ms ( Average of 50 calls)
    

    问题是为什么我看到这种差异。理想情况下,两种方案都应该提供相同的性能数 另外在我的Jmeter设置中添加"使用keep alive" as off和https.use.cached.ssl.context在jmeter.properties中设置为false。

1 个答案:

答案 0 :(得分:0)

对于在线程组级别定义了50个循环的场景,您的Ramp-up设置是什么?根据{{​​3}}

  

加速期告诉JMeter需要多长时间才能“加速”到所选的全部线程数。如果使用10个线程,并且加速时间为100秒,则JMeter将花费100秒来使所有10个线程启动并运行。每个线程将在上一个线程开始后10(100/10)秒开始。如果有30个线程且120秒的加速周期,那么每个连续的线程将延迟4秒

默认情况下,加速为1。如果您正在为线程组和循环控制器寻找相同的行为,则需要将其设置为0

展望未来,像JMeter一样快速发送请求并不能称之为真实的负载场景。真正的用户并没有锤击这个或那个端点,他们需要一些时间来“思考”下一步行动。可以使用ie documentation来模拟这个“思考时间”。但是,设置所需负载的更智能方法是使用Constant Timer