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

为什么在JMeter中使用更高的循环数可以提高站点性能?,jmeter,Jmeter,我注意到,当使用JMeter进行负载测试时,如果我只进行一个循环,那么测试的平均时间就相当长。如果我的平均时间是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

我注意到,当使用JMeter进行负载测试时,如果我只进行一个循环,那么测试的平均时间就相当长。如果我的平均时间是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个请求将从缓存中提取


如何准确地使用会导致我看到的结果的
循环计数?

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

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

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

我希望这能澄清疑问:)