一. 同步定时器(Synchronizing Timer) (在Loadrunner中叫做集合点)
思考:
- 如何模拟多个用户同时抢一个红包?
- 如何测试电商网站中抢购活动、秒杀活动?
1.1 介绍
Sync Timer的目的是阻塞线程,直到阻塞了n个线程,然后立刻释放他们
同步定时器相当于一个储蓄池,累积了一定的请求,当在规定的时间内达到一定的线程数量,这些线程会在同一时间点一起并发,所以可以用来做大数据量的并发请求。
1.2 案例
场景:
模拟100个用户同时访问百度首页,统计高并发情况下运行情况操作步骤:
1. 添加线程组,设置线程数为100
2. 添加HTTP请求
3. 在这个HTTP请求下添加同步定时器
4. 添加查看结果树
5. 添加监听器-聚合报告
二. 常数吞吐量定时器(Constant Throughout Timer)
2.1 介绍
常数吞吐量定时器可以让JMeter以指定数字的吞吐量(以每分钟的样本数为单位,而不是每秒)执行。吞吐量计算的范围可以为指定为当前线程、当前线程组、所有线程组
设置jmeter以指定的吞吐量速度向服务器发送请求
注意:常数吞吐量定时器只是帮助达到性能测试的负载(压力)要求,本身不代表有没有bug
2.2 案例
场景:
一个用户以20QPS(20次/s)的频率访问百度首页,持续一段时间,统计运行情况操作步骤:
1. 添加线程组,循环次数设置为永远
2. 添加HTTP请求
3. 添加常数吞吐量定时器
4. 添加查看结果树
5. 添加监视器-聚合报告