Synchronizing Timer集合点

Synchronizing Timer:同步时间,俗称集合点;

使用场景:并发测试,放在请求的节点下,等待线程达到预设值以后同时发送请求;

Number of Simultaneous Users to Group:需要分组的模拟用户数量,通俗点就是要模拟多少个用户进行并发操作;

Timeout in milliseconds:超时时间,默认为0;

 

 

举例一:超时时间为0,线程数10个,模拟用户数量20,大于10,运行一下试试;

 

 

 

结果:运行后显示一直在运行状态,手动停止后,才显示运行了10个线程;

 

 

 

 举例二:超时时间为0,线程数10个,模拟用户数量8,小于10,跑一下试试;

结果:先执行了8个,然后就一直在等待(等待线程集合到8个),由于剩下的只有2个,所以就一直在等待,只能手动停止;

 

 

 

 举例三:超时时间为0,线程数500个,模拟用户数量500,跑一下试试;

结果:等待线程集合到500后(有一个等待集合的时间,但是这个时间不会统计到响应时间中),发起请求,执行成功;

 

 

 

 举例四:超时时间为5000ms,线程数50个,模拟用户数量60,跑一下试试;

 

 

结果:在第4秒钟的时候,还没有运行,但是线程已经加载到了50,在第5秒的时候直接运行了50个线程;

填写了超时时间,就不会有程序一直运行靠手动结束的情况,如果线程达不到要求会在超过时间后,执行已加载的线程

 

 

 

 举例五:超时时间为5000ms,线程数50个,模拟用户数量40,跑一下试试;

 

结果:在结合到40的时候,就直接运行了40,但是后续线程已经达不到40了,所以等待了5秒,在第5秒的时候直接运行了剩余的10个线程;

 

 

 

总结:上面的例子基本都是废话

不填写超时时间的时候

1.如果线程数(跟循环次数没关系)小于填写的需要模拟的用户数量,则程序会一直运行,直到手动停止,才会执行已加载的线程;

2.线程数/填写的需要模拟的用户数量不为整数,表示后续的线程数已经达不到需要模拟的数量要求了,这个时候也会一直运行,只能手动停止才会执行已加载的线程;

3.线程数/填写的需要模拟的用户数量是个整数,运行后,当线程数集合到预期值就会执行;(注:集合时间不会统计在请求的响应时间中

 

 

 填写超时时间的时候(主要为了防止出现线程达不到预期值,程序一直运行的情况

1.当超过超时时间后,无论有没有达到预期值,都会执行已加载的线程;

 

posted @ 2021-03-31 18:01  呆萌呆萌呆萌  阅读(307)  评论(0编辑  收藏  举报