Jmeter(9)常用定时器
测试计划中元件的执行顺序依次为:
配置元件--逻辑控制器--前置处理器--定时器--取样器--后置处理器--断言--监听器
一、定时器作用域
1、定时器是在每个取样器之前执行的,无论定时器是在取样器之前还是之后
2、执行一个取样器之前,当前作用域的所有定时器都会执行
3、控制定时器只对一个取样器生效,那么需要把定时器作为子节点加在取样器下方
二、定时器的类型
1、固定定时器
固定定时器让每个线程等待相同的时间后执行,固定定时器的延时不会计入单个取样器的响应时间,但是会计入事务控制器的时间
对于“java请求”取样器来说,定时器相当于loadrunner中的pacing(两次迭代之间的间隔时间)
对于“事务控制器”来说,定时器相当于loadrunner中的think time(思考时间,模拟用户在操作过程中的等待时间)
性能测试中需要模拟真实用户操作,pacing和think time是两个必不可少的因素
2、同步定时器
同步定时器和loadrunner中的集合点作用相似,作用是:阻塞线程,直到指定的线程数量达到一定数量后,再一起释放,可以瞬间产生很大的压力
模拟用户组的数量:模拟用户的数量,即同时释放的线程数数量,若设置为0,等于设置为线程组中的线程数量
超时时间以毫秒为单位:超时时间,即超时多少毫秒后同时释放指定的线程数,如果设置为0,默认无超时限制,该定时器将会等待线程组达到设置的线程数才释放,若没有达到设置的线程数将会一直等待。如果大于0,那么超过设置的最大等待时间还没达到设置的线程数,Timer将不再等待,释放已达到的线程
同步定时器的超时时间设置要求为:模拟用户组数量*1000*(线程加载时间/线程数)
3、常数吞吐量定时器
常数吞吐量定时器让Jmeter以指定数字的吞吐量(每分钟的执行数)执行,计算吞吐量依据是最后一次线程的执行时延
可以选择作用的线程:当前线程、当前线程组、所有线程组等
当前线程:设置每个线程的吞吐量,总的吞吐量=线程数*该值
当前线程组中的所有活动线程:吞吐量被分摊到当前线程组所有的活动线程上,每个线程将根据上次运行时间延迟