JMeter:每个线程之间的延迟请求一个采样器

时间:2014-12-04 14:33:57

标签: jmeter delay

我正在进行压力测试,但是我的第一个采样器在很少的时间内向服务器发出大量请求,因此我想在每个线程之间使用请求进行延迟。

测试结构:

  • Thread1 - Sampler1 (例如:访问登录表单)
  • 延迟(自定义秒数)
  • Thread2 - Sampler1 (例如:访问登录表单)
  • 延迟(自定义秒数)
  • ThreadN - Sampler1 (例如:访问登录表单)
  • 延迟(自定义秒数)
  • Thread1 - Sampler2
  • 延迟(自定义秒数)
  • Thread2 - Sampler2
  • 延迟(自定义秒数)
  • < ...>
  • 同步计时器
  • 使用最终采样器(此部分可用)
  • 重新发布所有线程

我试图把定时器作为采样器的父母或孩子。可能我错过了一些东西,因为没有定时器正在为我工​​作。

我发现了类似的问题解决方案,但没有为我工作: JMeter - sharing a delay between requests across multiple ThreadGroups Delays for each thread in Ultimate Thread Group

4 个答案:

答案 0 :(得分:1)

我建议通过http://jmeter-plugins.org/wiki/SteppingThreadGroup/使用stepping thread group

在“线程调度参数”部分中,您将注意到您能够指定在峰值时运行的最大线程数,但您还需要根据需要慢慢实例化线程。

很明显,下面的设置说“当我运行这个测试时,我最终会想要100个线程,但是当我第一次开始测试时,等待15秒,然后只启动10个线程。然后添加另外10个线程每120秒。一旦达到最大螺纹,继续工作180秒,然后每15秒慢慢剥离5个螺纹。

这应该符合您的需要。

stepping thread group

答案 1 :(得分:1)

根据您的测试计划说明,您可以使用下面提到的1个计时器:

  • 高斯随机定时器 enter image description here
  • 恒定计时器
    enter image description here

希望这会有所帮助..

答案 2 :(得分:1)

根据您提到的要求,Constant Timer是最佳选择。

答案 3 :(得分:0)

您可以使用' Ultimate Thread Group'而不是常规的线程组。有“初始延迟”'在最终线程组中,它将帮助您实现您的要求。