jmeter 中使用同步定时器 Synchronizing Timer实现 LoadRunner 中集合点的功能。
在未使用同步定时器 Synchronizing Timer时
添加-线程组。
添加-取样器-http请求
添加-监听器-用表格查看结果。
将设置线程数为5,可以看出发出的5个请求并未在同一时间开始。
通过使用同步定时器 Synchronizing Timer,可以帮助我们实现并发请求。
添加-定时器-Synchronizing Timer
同步定时器页面参数配置说明:
模拟用户组的数量(Number of Simulated Users to Group by) :就是并发数,集合多少请求后一起发出去。
超时时间以毫秒为单位(Timeout in milliseconds) :指定人数多少秒没集合到算超时,默认为0,会一直等。如果设置1000毫秒的,在1000毫秒内没有凑齐并发数,就会发出去。
可以看到有3个请求是同时发出去的(不会绝对,只会更接近3个),剩下的两个请求没有等到3个,在超过设置的1000ms后同时发出。
如果要让每个线程在请求之间暂停相同的时间,请使用此计时器。1、添加线程组,添加HTTP请求,添加固定定时器,线程延迟为3000毫秒,添加查看结果树,运行。可以发现3s后请求才发送出去。
让线程暂停一个随机时间。由两部分组成:
SyncTimer的目的是阻塞线程,直到X个线程被阻塞,然后它们全部被释放。
1、添加线程组,设置线程组为10,Ramp-up Period为2,Number of Simultaneous Users to Group by设置为10,添加HTTP请求,聚合报告,可以看到10个HTTP请求是一起生成的。
1,固定定时器定义:让需要每个线程在请求之前按相同的指定时间停顿
注意:1),固定定时器的响应时间不会记入每个取样器的响应时间
2),固定定时器的响应时间会被记录事务控制器的时间
2,高斯随机定时器
定义:让需要每个线程在请求前按随机时间停顿,上面是随机在100到400秒之间
计算公式:Math.abs((this.random.nextGaussian() * 300) + 100)
3,统一随机定时器
定义:和高斯随机定时器的作用差异不大,区别在于延时时间在指定范围内且每个时间的取值概率相同,每个时间间隔都有相同的概率发生,总的延迟时间就是随机值和偏移值之和
(1)Random Delay Maximum(in milliseconds):随机延迟时间的最大毫秒数
(2)Constant Delay Offset(in milliseconds):暂停的毫秒数减去随机延迟的毫秒数
4,固定吞吐量定时器
定义:JMeter以指定数字的吞吐量(即指定TPS,只是这里要求指定每分钟的执行数,而不是每秒)执行
5,同步定时器
定义:类似loadrunner当中的集合点,作用阻塞进程,直到指定线程数量到达后一起爆发
1),模拟用户的数量:即指定同时释放的线程数数量
2),超时时间,超时多少毫秒后同时释放指定的线程数
6,Beanshell定时器
定义:万能定时器(待补充)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)