我们都知道用户实际进行接口压测或者批量接口调用的时候并不是说一蹴而就的,也是会需要思考及分析数据的时间,并且有些场景之间的调用也有可能是异步的,所以jmeter也提供了多种定时器以便于我们进行接口的测试,接下来我们看下jmeter提供的定时器有哪些?
可以看到了jmeter目前支持了9种定时器供我们使用,接下来我们将一一介绍这些定时器的作用及用法。
固定定时器
根据名称我们也能知道这个定时器的时间是固定的,对作用域内的接口都有一个固定的延迟时间,如果需要单独对某个接口定时可以放在单个请求内。
添加定时器–>固定定时器
设置延迟时间为3秒,然后我们时间运用看一下结果:
添加监听器–>用表格察看结果,通过表格结果树我们可以很清晰对比出两个接口中间停顿了3秒左右。
统一随机定时器
统一随机定时是指每个接口之间的延迟时间是在某区间内随机的,区间内随机值的概率是相等的。是由最大随机时间+固定延迟时间组成!
添加定时器–>统一随机定时器
设定固定延迟时间为2s,最大随机时间为1s:
以上我们可以看到延迟时间在2s-3s之间!
准确的吞吐量定时器
这个就是控制吞吐量的。准确的吞吐量定时器是根据吞吐量在做计时器(到了多少量就发请求)。也就是能做到控制请求的速度和个数。
添加定时器–>准确的吞吐量定时器
设置线程组的线程数:
设置吞吐量定时器数据:
添加两个接口请求,然后运行接口可得到如下:
大约运行了20s启动线程,若我们修改定时器配置:
10个线程为一组同时处理:
运行的时候我们可以看到一次性处理了10个线程,然后运行了10秒左右!
常数吞吐量定时器
这个定时器引入了变量暂停,通过计算使总吞吐量,尽可能接近给定的数字。当然,如果服务器不能处理它,或者如果其他定时器或耗时的测试原件阻止它,那么吞吐量将更低。
添加定时器–>常数吞吐量定时器
设置目标吞吐量为300/min:
运行后结果可由jp@gc - Transactions per Second插件查看效果,这里不做演示。