如何用Jmeter一步一步进行压力测试

时间:2014-11-15 11:49:09

标签: concurrency jmeter load-testing performance-testing stress-testing

我想对网站进行压力测试。主要目的是在并发用户数和点击次数/秒(RPS)方面找到性能下降点。

我使用了终极线程组,并将用户数设置为200,加速时间为200秒。 我已经将吞吐量整形计时器添加到最终线程组并将每秒请求数设置为8.(如果我每秒只有一个采样器命中率得到很好的控制,它是8次/秒。如果我有多个采样器命中不受控制,甚至达到20,25,40等。我最终使用恒定吞吐量计时器)

让我们回到压力测试。要找到性能降级点,就并发用户数和每秒点击次数而言,我应该如何模拟负载。例如:我的网站的预期降级点是300个用户,每秒12个请求,平均响应时间为800毫秒。但它可以支持更多的用户可能是500个用户,可能是15 RPS。 如果我想在每个样本之间添加一些延迟怎么办?我应该在哪里添加定时器?线程组或采样器?

感谢。

1 个答案:

答案 0 :(得分:2)

计时器有其范围。来自Timers documentation

  

请注意,定时器在之前处理它们所在范围内的每个采样器;如果同一范围内有多个计时器,全部计时器将在每个采样器之前处理。   定时器仅与采样器一起处理。与采样器不在同一范围内的计时器根本不会被处理。   要将计时器应用于单个采样器,请将计时器添加为采样器的子元素。计时器将在执行采样器之前应用。要在采样器之后应用计时器,请将其添加到下一个采样器,或将其添加为测试操作采样器的子项。

所以:

  • 如果您想延迟一个请求 - 将您选择的计时器作为该请求的子项。
  • 如果您的目标是延迟所有请求 - 将计时器置于与请求相同的级别
  • 如果您想延迟某些部分请求,请将其移至Simple Controller

How to Use JMeter Assertions in 3 Easy Steps指南中突出显示了类似的情况:

Assertions Scope

唯一的区别是,在采样器和断言执行之后,正在处理定时器。