为什么使用更高的循环计数可以提高JMeter中的站点性能?

时间:2014-06-11 22:24:50

标签: jmeter

我注意到当使用JMeter进行负载测试时,如果我进行单循环,我的测试平均时间相当长。如果我说Loop Count为10,我的平均时间会在早期达到峰值,然后会下降。例如,如果我使用以下设置对页面的简单get请求设置测试:

Number of Threads (users): 500
Ramp-up Period(in seconds): 5
Loop Count: 1

我的平均时间约为4秒。如果我将其更改为10个循环:

Number of Threads (users): 500
Ramp-up Period(in seconds): 5
Loop Count: 10

我的平均时间为1.4秒。

Apache的文档说明循环计数是:

  

此控制器的子元素的次数   每次通过测试运行迭代。

这是否可能意味着第一个请求实际上会在服务器上执行某些操作,而后续的9个请求将从缓存中提取?

Loop Count究竟是如何使用会导致我看到的结果?

1 个答案:

答案 0 :(得分:0)

是的,剩余的9个请求必须从缓存中提取。

循环控制器是简单的循环执行器,内部没有任何魔法 改进的性能是因为在服务器上使用缓存结果。

如果您想要尝试一件事,请使用循环控制器,但使用不同的替换参数 时间不同的请求将被发送到服务器(我知道循环控制器用于重复相同的值,但这只是为了确认缓存的效果)。
然后比较结果。

我希望这可以解决疑问:)