我试图使用jmeter生成季节性负载模式,但无法模拟情况。 例如,我希望在系统中始终运行每秒持续请求的线程(例如,每秒60个请求)。另一个线程组负责产生季节性峰值,比如每10分钟间隔,它将产生每秒120个请求,比如5分钟。所以,每隔10分钟,我会有一个持续5分钟的尖峰。任何模拟这种情况的脚本或建议都会有所帮助。
答案 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)
使用"计划程序"使您的线程组永远运行或选择所需的持续时间选项:
在第一个线程组中添加Constant Throughput Timer并按如下方式对其进行配置:
3600
(每秒60个请求*分钟60秒)all active threads in current thread group
在第二个线程组中添加Throughput Shaping Timer并将其配置为:
您可以使用不同的上升和下降数字,图表将更改为代表您的负载模式。
请记住,两个计时器都不会启动任何额外的线程,因此您必须在线程组级别提供足够的线程,以便创建和维护所需的负载。