我有测试REST API的JMeter测试计划。在执行期间,它将项目发布到DB(POST),接下来的步骤是其他操作,如GET,UPDATE,DELETE。
当负载很高时,服务无法处理所有请求,测试执行后会在DB上显示某些项目。
我尝试将所有成功创建的内容收集到ConcurrentLinkedQueue。并在tearDown()
方法完成加载后删除所有内容。
对于负载测试,使用Throughput Shaping Timer。测试计划在非GUI模式下执行,并且使用load_profile
属性指定负载。
主要问题是Shaping计时器在设定时间后停止执行。因此tearDown()
从未被执行过:
如何使用Shaping计时器在主要加载部件后执行tearDown()
?
答案 0 :(得分:0)
这听起来像吞吐量整形计时器插件的错误(或预期行为),我建议在JMeter Plugins Support Forum
中澄清这一点与此同时,您可以使用Runtime Controller设置所需的“Minion Load”线程组持续时间和“normal”Constant Throughput Timer,以将JMeter的吞吐量限制为所需的值。