JMeter是根据线程数大小来控制压力大小的,但我们在制定压测目标中的指标往往是吞吐量(TPS/QPS),这就给测试人员带来了不便之处,必须一边调整线程数,一边观察QPS/TPS达到什么量级了。
那怎么解决这个问题呢?
首先JMeter提供了常数吞吐量定时器,我们可以通过设定吞吐量上限来限制QPS/TPS,达到控量的效果。
上面的做法也只是设置了固定的TPS,但这样还远远不够,实际工作中我们希望在每次压测执行时能够随时调节吞吐量, 那怎么实现呢
Step1. 首先我们把上图中的 Target throughput替换成${__P(throughput, 99999999)}
Step2.利用JMeter的BeanShell功能,通过执行外部命令的方式,在运行时注入具体值,达到动态调节吞吐量的目的
命令:
java -jar <jmeter_path>/lib/bshclient.jar localhost 9000 updateTPS.bsh <qps>
updateTPS.bsh内容:
import org.