Jmeter(二):定时器Synchronizing Timer(设置集合点,实现并发)

Jmeter(二):定时器Synchronizing Timer(设置集合点,实现并发),第1张

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定时器

定义:万能定时器(待补充)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11925887.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存