在线程组中正确使用计时器(直到现在我的计时器被忽略)

时间:2017-10-30 13:49:06

标签: performance jmeter stress-testing

我的目标是模拟500个用户,这些用户在五分钟的时间内在网站上执行某些请求。

为了使测试尽可能接近现实,我想在请求之间添加一个思考时间(这里:两秒)。问题是无论我做什么,定时器都会被忽略。举个例子,我想每2秒执行一次登录请求。这是线程组的数据:

Number of Threads: 500
Ramp-Up Period: 300
Loop Count: 1

所以我到目前为止做了什么来实现这个目标:

  1. 我使用常量计时器并将其作为一个孩子放在我的请求中,没有用,计时器被忽略,无论我使用什么值。
  2. 我尝试了常量吞吐量计时器,但这也没有用,值被忽略。
  3. 我做错了什么。我添加了一个截图,这样你就可以看到我在测试计划中把常量计时器放在哪里了。

    我的测试计划的屏幕截图:

    enter image description here

    enter image description here

2 个答案:

答案 0 :(得分:0)

在你的情况下,你可以在没有计时器的情况下工作,你可以使用Ramp up周期为线程数* 2(秒)来大约每2秒启动一次线程。

因此,在您的情况下,只需将Ramp-Up Period:1000(并删除计时器)

答案 1 :(得分:0)

您正在使用错误的计时器,Constant Timer只会在每次请求之前增加5秒的延迟。如果您希望JMeter每2秒执行一次登录,您应该考虑切换到Constant Throughput Timer

JMeter Constant Throughput Timer

请记住,恒定吞吐量计时器仅在分钟级别上运行得足够精确,因此您可能需要在线程组级别上使用加速周期,以便在前60秒内限制线程执行率。或者,您可以考虑使用Throughput Shaping Timer插件