赞
踩
提示:在Jmeter中叫做同步定时器,在其他软件中又叫集合点(loadrunner)。
思考? 1. 如何模拟多个用户同时抢一个红包? 2. 如何测试电商网站中的抢购活动、秒杀活动?
SyncTimer的目的是阻塞线程,直到阻塞了n个线程,然后立即释放它们。
同步定时器相当于一个储蓄池,累积一定的请求,当在规定的时间内达到一定的线程数量,这些线程会在同一个时间点一起 并发,所以可以用来做大数据量的并发请求。
添加方式:测试计划 --> 线程组--> HTTP请求 --> (右键添加) 定时器 --> Synchronizing Timer
场景:抢红包、消费券;秒杀活动
目的是阻塞线程,知道阻塞n个线程,然后一起释放
模拟100用户同时访问百度首页的操作步骤
1.添加线程组,设置线程数
2.添加HTTP请求
3.添加同步定时器
4.添加查看结果树
5.添加聚合报告
问题: 当用户数不能整除集合点组件的一组用户数属性时,如果超时时间是 0,会导致程序挂起,怎么避免挂起?
实现:
方案1: 点击 stop 强行终止,但是不建议
方案2: 修改一组用户数,能够做到整除(治标不治本)
方案3: 修改超时时间,不设置为 0,即便一组用户数填充不满,只要超时,也会执行(建议)
常数吞吐量定时器可以让JMeter以指定数字的吞吐量(以每分钟的样本数为单位,而不是每秒)执行。 吞吐量计算的范围可以为 指定为当前线程、当前线程组、所有线程组。
添加方式:测试计划 --> 线程组--> HTTP请求 --> (右键添加) 定时器 --> Constant Throughput Time
场景 一个用户以 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): 处理完每批线程后延迟一段时间。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。