JMeter加速与持续时间的关系。

时间:2018-07-19 13:21:01

标签: jmeter

假设我具有当前配置:

Number of Threads (users): 150
Ramp-up : 30
Loop Count : None

如果我将持续时间延长2分钟,那么:

Number of Threads (users): 150
Ramp-up : 30
Loop Count : None
Duration (minutes) : 2 

Jmeter会如何反应?如果每个线程花费大约10秒钟完成

预先感谢

1 个答案:

答案 0 :(得分:0)

要同时考虑“循环计数”和“持续时间”(如果同时存在),先到者。因此,在第一种配置中,您没有限制循环计数或持续时间,因此脚本将“永远”运行。在第二种情况下,循环计数仍不受限制,但持续时间受限制。因此,测试将在第一个用户启动 后2分钟停止,并且该时间包括启动时间。停止包括不运行新的采样器,以及对所有正在运行的采样器进行硬停止。

在您的情况下,150个用户将在30秒后结束。这意味着要运行的第一个线程将在最后一个线程刚开始执行第一个线程时完成3次迭代(x10秒)。

在剩下的90秒内,所有线程将完成大约8-9次迭代。

因此对于第一个线程,您应该期望11-12次迭代,对于最后一个线程,您应该期望8-9次迭代。其余线程在这些数字之间的任何位置。假设大约有30个线程执行了相同的迭代次数(介于8到12之间),则总共将获得大约1500次迭代(可能有点高或低)。每个线程的最后一次迭代可能是不完整的(例如,一些采样器在测试用完之前没有运行)。

通常,由于持续时间可能会留下未完成的迭代,所以我认为这只是管道自动化中的回退或门槛而已。例如:run被配置为完成1000次迭代(如果迭代需要10秒,则大约需要16分钟)。因此,持续时间设置为24分钟(松弛度约为50%)。如果性能不错,就不需要使用它,但是如果执行花费的时间非常长,我们可能会在24分钟内将其停止,因为没有继续的意义:我们已经知道有些问题了。