jmeter学习-定时器

同步定时器(Synchronizing Timer)

提示:在Jmeter中叫做同步定时器,在其他软件中又叫集合点(loadrunner)。
思考? 1. 如何模拟多个用户同时抢一个红包? 2. 如何测试电商网站中的抢购活动、秒杀活动?

1.1 介绍


SyncTimer的目的是阻塞线程,直到阻塞了n个线程,然后立即释放它们。

同步定时器相当于一个储蓄池,累积一定的请求,当在规定的时间内达到一定的线程数量,这些线程会在同一个时间点一起 并发,所以可以用来做大数据量的并发请求。


添加方式:测试计划 --> 线程组--> HTTP请求 --> (右键添加) 定时器 --> Synchronizing Timer

1.2 案例

场景:抢红包、消费券;秒杀活动

     目的是阻塞线程,知道阻塞n个线程,然后一起释放
        模拟100用户同时访问百度首页的操作步骤
1.添加线程组,设置线程数
2.添加HTTP请求
3.添加同步定时器
4.添加查看结果树
5.添加聚合报告

 

1.3 注意事项


问题: 当用户数不能整除集合点组件的一组用户数属性时,如果超时时间是 0,会导致程序挂起,怎么避免挂起?
实现:
方案1: 点击 stop 强行终止,但是不建议
方案2: 修改一组用户数,能够做到整除(治标不治本)
方案3: 修改超时时间,不设置为 0,即便一组用户数填充不满,只要超时,也会执行(建议)

 

 常数吞吐定时器(Constant Throughput Timer)

2.1 介绍

常数吞吐量定时器可以让JMeter以指定数字的吞吐量(以每分钟的样本数为单位,而不是每秒)执行。 吞吐量计算的范围可以为 指定为当前线程、当前线程组、所有线程组。

添加方式:测试计划 --> 线程组--> HTTP请求 --> (右键添加) 定时器 --> Constant Throughput Time

2.2 案例

场景 一个用户以 20QPS (20 次/s) 的频率访问百度首页,持续一段时间,统计运行情况 操作步骤 1. 添加线程组,循环次数设置成永远
2. 添加HTTP请求
3. 添加常数吞吐定时器
4. 添加查看结果树
5. 添加监听器-聚合报告

 

固定定时器


功能:通过该定时器,我们可以对每一个线程延迟固定时间。


随机定时器

 

功能:通过该定时器,我们可以对每一个线程随机延迟一定时间。

总体延迟时间=随机时间+常量时间

 

Random Delay Maximum:随机时间

 Constant Delay offset:执行结束之后再延迟3秒


准确吞吐量定时器

功能:通过该定时器,我们可以让线程以一个目标吞吐量去运行。

下面表示每 10 秒钟采样 20 次,持续 30 秒时间,大概就是 TPS 为 2

 

 Number of thread in the batch(thread): 每批次处理的线程数,当线程数大的时候可以适当增大。

 Delay between thread in the batch(ms): 处理完每批线程后延迟一段时间。

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值