Jmeter-聚合报告固定吞吐量设置

jmeter进行固定吞吐量(QPS)测试

一般我们使用jmeter进行测试时,多考虑的是不同并发数下服务的性能,这些性能指标包括吞吐量、响应时间等。但在某些场景下,服务其实对于并发数并不是很敏感,反倒是平常作为性能指标的吞吐量会对服务性能产生影响,比如不同吞吐量下,服务的响应时间和错误率会有所不同。这时就需要我们对jmeter发送请求的吞吐量进行限制,而jmeter正好有一个定时器(timer)可以实现这样的效果。他就是固定吞吐量控制器(Constant Throughput Timer)。

固定吞吐量控制器的参数很简单,只有两个,一个是期望达到的吞吐量(注意这里是每分钟,如果是控制QPS,需要填写QPS*60),一个是计算的模式。其中计算的模式有几种,各有区别,可以按照不同的需求选用。

This thread only:

控制每个线程的吞吐量,选择这种模式时,总的吞吐量为设置的target Throughput 乘以该线程的数量

All active threads:

设置的target Throughput 将分配在每个活跃线程上,每个活跃线程在上一次运行结束后等待合理的时间后再次运行。活跃线程指同一时刻同时运行的线程。

All avtive threads(shared):

与All active threads的选项基本相同。唯一区别是,每个活跃线程都会在所有活跃线程上一次运行结束后等待合理的时间后再次运行。

All active threads in current thread group:

设置的target Throughput 将分配在当前线程组的每一个活跃线程上,当测试计划中只有一个线程组时,该选项和All active threads 选项的效果完全相同。

All active threads in current thread group(shared):

与All active threads in current thread group 基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程的上一次运行结束后等待合理的时间后再次运行。

例如我要控制某个线程组中某个请求的总QPS为1.0,那么就可以选择All active threads in current thread group模式,并将吞吐量设置为1.0*60=60。

这样当我们进行测试时,这个请求的QPS就被固定为1了,通过聚合报告可以清晰得看到,长时间测试下来,对于吞吐量的控制还是比较精确的。

通过使用吞吐量控制器保持QPS为1

posted @ 2022-04-15 18:22  术科术  阅读(1569)  评论(0编辑  收藏  举报