各位测试同学大家好,throughput字面意思可以理解为吞吐量。通过最近总结学习Jmeter中的各项知识,发现在单线程单事务情况下throughput实际就是TPS或者说RPS。
首先我们先看看Jmeter里有哪些地方出现了throughput:
定时器中有Constant Throughput 和 Throughput Shaping Timer
逻辑控制器中有吞吐量控制器
聚合报告中也有一个Throughput
Throughput是用来衡量吞吐量的指标,通常由TPS和QPS来表示。
TPS表示每秒通过的事物数,QPS表示每秒查询接口数。
jmeter中如果只有单接口,那么TPS=QPS。
如果是多接口的混合场景,只有在事物控制器下执行,才能将其理解为TPS。
聚合报告中的 Throughput
下图Throughput表示无限迭代下的业务吞吐量TPS,大约是108/s。意思就是每秒能处理108笔事物。或者可以理解为:每秒能处理完成的请求数是108。
Constant Throughput Timer
现在我们在接口下添加一个 Constant Throughput Timer
这是一个吞吐量定时器,它可以控制我们的TPS。
如图,设定了目标吞吐量是1800/min,也就是30/s。
接下来运行的结果可以看到,无论我们预期的吞吐量有多大,实际的TPS都被强力压缩在30/s。
Throughput Shaping Timer
再来看一下 Throughput Shaping Timer
下图可以很明显看到它是用来控制RPS的,也就是每秒请求数。
start=1 end=60,持续时间是30。表示我们需要在30s内将RPS(每秒请求数)均匀的从1提升到60。
下面可以看出来我们的每秒请求数均匀的在提升
逻辑控制器-吞吐量控制器
这个控制器里的吞吐量,指的是请求比例。该控制器适用于有多个线程组即组合场景时使用,比如合适线程组1发送30%的请求,线程组2发送70%的请求。
总结:throughput是性能测试过程中关注的重点指标,相当于TPS/RPS。在某些特定情况下, 我们需要设置每秒或每分钟执行机发出的请求数,则可以使用定时器中的Constant Throughput 和 Throughput Shaping Timer。在由多线程(多场景)并发的时候可以使用逻辑控制器中的吞吐量控制器。