我的印象是我使用了3种设置;线程,加速和循环,模拟X(线程)用户数量/线程超过Y(加速)秒,并为Z(循环)次数执行这些操作。例如,我希望每1秒钟有10个用户持续1小时,相当于10个线程,1个第二个加速和3600个循环。
但是:)
其他人似乎以不同的方式使用它......因为如果他们想要与上面相同,他们会将Threads设置为36000,Ramp-up设置为3600秒,Loop设置为1.
我倾向于认为第一种方法是正确的,基于#a它读得更好:)和#b为什么你会有一个基于秒的设置来表明测试的长度
任何人都可以给我一个确定的答案,或者两种选择都是合理的吗?
答案 0 :(得分:1)
首先,第二个例子中的36000个线程看起来非常高! http://wiki.apache.org/jmeter/HowManyThreads报告人们使用1000.因此第二种情况甚至可能无效。
您描述的两种情况并不完全相同,我不确定是否正是您想要的。
在第一个10个螺纹加1秒加速意味着所有10个螺纹将在1秒后使用。然后,10个线程将并行执行3600次操作。你没有提到任何意味着测试将需要1小时的任何事情,只要需要循环3600次就需要。要花费一个小时(假设操作时间不超过1秒),您需要在循环中使用类似恒定吞吐量计时器的东西来控制循环的速度,这样就需要一个小时。
在第二个中,将在second #1
中创建10个线程,并开始执行循环,second#2
中的另外10个线程等,一直到1小时(second#3600
) 。如果操作花费的时间超过一秒,那么任何一秒钟都会运行10个以上的线程。
第一种方法更清晰。第二个是对Ramp-Up的滥用;它不是用于提供360000个线程,而是尝试安排10个线程一次运行。