正在试验Jmeter,我想知道最好的方法:
20个用户登录应用程序,超过20分钟,并执行一些操作另外20分钟,然后注销20分钟。即有200个用户登录,然后一旦所有登录,开始20分钟计时器。一旦20分钟结束,开始记录最早登录的人。
我意识到这可能或可能不是一个真实的测试场景,但我想看看它是否可能。
目前我有一个测试计划,用户登录,执行一些操作,然后注销。我无法看到我如何能够提升和减速。
答案 0 :(得分:4)
测试计划中有一个选项“连续运行线程组”。将其设置为选中。
然后将3个线程组添加到测试计划中。我建议首先使用Thread Group(20个线程,循环计数1,加速时间1),终极线程组(20个线程立即启动并保持负载20分钟)用于第二个,Thread Group再次用于第三个(20个线程,循环)计数1,加速时间1)。
在每个TG中放置适当的采样器 - 首先登录,第二个执行操作,第三个注销。
就是这样。如果您有任何问题 - 请告诉我。
答案 1 :(得分:2)
您需要JMeter中的多个线程组以不同的时间间隔开始和运行,这样您就可以确保首先启动的用户将首先结束。
另请参阅related question。
答案 2 :(得分:0)
你可以没有用户= 20,加速时间= 1200秒(每分钟1次),测试开始和测试结束时间之间的时间差= 20分钟即可实现。
答案 3 :(得分:0)
我认为我过去遇到过类似的问题
这里想要我做过:
首先将您的线程组设置为20个线程,加速周期为60秒
登录后发出“测试动作”(在采样器菜单中) 目标=当前线程,动作暂停,如果您想要安全,则为20分钟(1 200 000 ms)或更长时间。
完成此测试操作后,请提交所有导航请求。
导航完成后,将另一个具有相同设置的“测试操作”放入上一个
(目标=当前线程,动作暂停,20分钟(1 200 000 ms)) 将logouf请求放在采样器之后。
这应该涵盖你的情况。
请注意,采样器只是暂停您的线程,因此启动的第一个线程应该是结束的第一个线程。
如果要将其缩放到200,只需将线程组加速时间更改为6或5秒即可。
希望它有所帮助。