作用:
模拟并发。
设置一个阀值(请求数量),当请求数达到这个阀值时,允许请求同时发出。例如:想测试一座桥的并发(忽略载重等其他因素,只考虑通过),那么并发的请求就是类似于多少辆车可同时通过桥,而车辆一般情况下是不可能同时通过桥的,因而我们可以在桥头A,设置一个集合点,等车辆数满足一定的数量,同时让车辆通过此桥。
步骤:
1. 添加同步定时器
Add --> Timer --> Synchronizing Timer
2. 配置同步定时器
a)Number of Simulated Users to Group by:请求集合数量(模拟用户的数量,即指定同时释放的线程数数量)
b)Timeout in milliseconds:超时时间(超时多少毫秒后同时释放指定的线程)
当线程数=集合数量时,集合好了就全部释放,不用等超时时间
当线程数<集合数量时,设置10000毫秒(即10s),意思是从点击start开始,等待10s后同时释放,释放数量n(线程数)个
当线程数>集合数量时,集合好了就释放n(集合数量)个,然后再过10s释放m(线程数-集合数)个,也就是剩余的
例如:
线程数5,集合数50,线程数<集合数,设置超时时间:
超时时间5000,则5s后全部释放;超时时间10000,则10s后全部释放;超时时间20000,则20s后全部释放;执行线程数为5
PS:超时时间设置场景:实际运行过程中,可能出现请求数当不满足集合点设置的请求数时(未设置超时时间),JMeter一直卡顿在如下页面:
解决方案是设置同步定时器的超时时间:
超时时间 > 请求集合数量 * 1000 / (线程数 / 线程启动加载时间)