Jmeter学习:定时器--固定定时器/随机定时器/准确吞吐量定时器/常数吞吐量定时器/同步定时器
一、固定定时器
功能:通过该定时器,我们可以对每一个线程延迟固定时间。
![](https://img2023.cnblogs.com/blog/1290905/202301/1290905-20230112225933436-1102166187.png)
二、随机定时器
功能:通过该定时器,我们可以对每一个线程随机延迟一定时间。
总体延迟时间=随机时间+常量时间
![](https://img2023.cnblogs.com/blog/1290905/202301/1290905-20230112230035115-883948417.png)
Random Delay Maximum:随机时间
Constant Delay offset:
三、准确吞吐量定时器
功能:通过该定时器,我们可以让线程以一个目标吞吐量去运行。
下面表示每 10 秒钟采样 20 次,持续 30 秒时间,大概就是 TPS 为 2
![](https://img2023.cnblogs.com/blog/1290905/202301/1290905-20230112232825399-1528110298.png)
Number of thread in the batch(thread): 每批次处理的线程数,当线程数大的时候可以适当增大。
Delay between thread in the batch(ms): 处理完每批线程后延迟一段时间。
四、常数吞吐量定时器
功能:通过该定时器,我们可以让线程以一个目标吞吐量去运行。
![](https://img2023.cnblogs.com/blog/1290905/202301/1290905-20230112234207180-1221800125.png)
常量吞吐量定时器不需要设置采样时间,采样时间默认为60s。
上图表示每60秒钟采样120次,大概就是TPS为2
Target thoughput(in samples per minute):采样次数。
Calculate Throughput base on:基于何种方式进行采样。
1. this thread only: 当前线程,需要乘以线程数。根据上图配置结果,每个线程目标吞吐量为2tps,假如有5个线程,则TPS结果为10/sec 左右。
2-4. all active threads XXXX : 所有线程,线程数无关。根据上图配置结果,每个线程目标吞吐量为2tps,假如有5个线程,则TPS结果就是2/sec 左右。
五、同步定时器
功能:通过该定时器,我们可以在某一逻辑点模拟创建最大负载量进行测试。
技术原理:通过在某一点阻塞线程,直到 X 个线程被阻塞,然后同时释放
![](https://img2023.cnblogs.com/blog/1290905/202301/1290905-20230113163647517-857878364.png)
Number of Simulated Users to Group by: 阻塞n线程数后释放。
Timeout in milliseconds:阻塞时间。
注意:阻塞线程数为n,则至少要在线程组配置中设置大于等于n个线程,该配置器才能生效。
设置阻塞时间为10s,则至多10秒就会释放一次,若10秒内没有达到设置的阻塞线程数也会释放。阻塞时间为0,表示无穷大,测试只看阻塞线程数是否满足释放条件。