使用jmeter生成季节性负载模式

时间:2016-04-27 12:02:10

标签: jmeter jmeter-plugins

我试图使用jmeter生成季节性负载模式,但无法模拟情况。 例如,我希望在系统中始终运行每秒持续请求的线程(例如,每秒60个请求)。另一个线程组负责产生季节性峰值,比如每10分钟间隔,它将产生每秒120个请求,比如5分钟。所以,每隔10分钟,我会有一个持续5分钟的尖峰。任何模拟这种情况的脚本或建议都会有所帮助。

2 个答案:

答案 0 :(得分:1)

如您所知,您需要2个线程组才能达到此要求。

线程组1

您可以使用Constant Throughput Timer来保持吞吐量60次/秒。

  

此计时器引入变量暂停,计算以保持总计   吞吐量(以每分钟样本数)尽可能接近a   给出数字。当然,如果服务器是吞吐量,则吞吐量会降低   不能处理它,或者其他计时器或耗时的测试   元素阻止它。

线程组2

要创建季节性峰值,Ultimate Thread Group可能是一个不错的选择,或者我们也可以使用Constant Timer的常规线程组来模拟10分钟间隔&线程组的启动延迟属性,如果有的话,给出初始延迟。

要仅生成5分钟的加载,请使用Runtime Controller。 您需要另一个Constant Throughput Timer来维持此线程组中60个请求/秒的吞吐量。

答案 1 :(得分:0)

  1. 使用"计划程序"使您的线程组永远运行或选择所需的持续时间选项:

    Thread Group Configuration

  2. 在第一个线程组中添加Constant Throughput Timer并按如下方式对其进行配置:

    • 目标吞吐量:3600(每秒60个请求*分钟60秒)
    • 根据以下方式计算吞吐量:我认为最佳值为all active threads in current thread group
  3. 在第二个线程组中添加Throughput Shaping Timer并将其配置为:

    Throughput shaping timer

    您可以使用不同的上升和下降数字,图表将更改为代表您的负载模式。

  4. 请记住,两个计时器都不会启动任何额外的线程,因此您必须在线程组级别提供足够的线程,以便创建和维护所需的负载。