Jmeter集合点

1. 添加集合点

 注意:等同于设置为线程租中的线程数,一定要确保设置的值不大于它所在线程组包含的用户数。  集合点放在需要的操作之前,比如请求前

 2. 集合点 的作用(集合线程组使用):需要等到集合点数量后执行集合点数量的线程,如果集合点数量小于线程,则先执行集合点数量的线程,剩余线程如果还大于线程,再进行一次和集合点数一样多的线程,如果没有线程需要执行了则结束,如果还存在线程但是小于集合点数,则等待满足集合点数的数量后再执行直到超时还没等到的话就可以直接执行了。如果超时未设置,则一直等待,相当于这部分不被执行。因此一般设置结合点作用是将线程按照集合点数量分组分批执行

  Number  of Simulated Users to Group by:按组分组的模拟用户数。

  timeout in milliseconds:Timout的意思是等待请求多久后,不管线程数有没有到达设置的并发数量都开始运行测试。

注:同步定时器要在请求之前设置。

场景一:线程数设置为6,集合点为3,超时为0,点击运行。

可以看到有6个结果,此处分成了2组进行并发,每次是3个用户。

场景二:线程数设置3,集合点设置为4,超时为0,点击运行。

发现没有执行请求,需要手动stop。原因:不够并发数且超时为0

场景三:线程数设置6,集合点设置为4,超时为0,点击运行。

发现只有4个请求,然后一直都没有停止,需要手动stop。原因:第一组够集合点,一起并发,第二组只有2个,不够集合点。

场景四:线程数设置6,集合点设置为6,超时为0,点击运行。

可以看到有6个请求。分1组执行。 

场景五:线程数设置6,集合点设置为4,超时为5000,点击运行。

分2组,发现先有4个请求,为第一组,5秒后,出现后2个请求,为第二组,共6个。

结论:

Timeout in milliseconds: 如果设置为0,Timer将会等待线程数达到了"Number of Simultaneous Users to Group"中设置的值才释放。也就是说,如果线程数不足集合点中设置的数,就会一直等待,需要手动stop。

如果大于0,那么如果超过Timeout in milliseconds中设置的最大等待时间(毫秒为单位)后还没达到"Number of Simultaneous Users to Group"中设置的值,Timer将不再等待,释放已到达的线程。也就是说如果线程数不满足集合点中设置的值,则在timeout中设置的时间后继续执行不足的那些线程。

Timeout in milliseconds默认为0。所以当timeout设置为0,但是线程数又不满足集合点中设置的值时,就会一直等待,不执行请求,需要手动stop。

同步定时器是在每一个采集器之前执行的,不管定时器的位置是在采集器之前还是之后,都是在采集器之前执行。

如果一个线程中存在多个采集器,同步定时器和这些采集器在同一级(同一节点下),则同时作用于这些采集器。

如果需要一个定时器单独对应某一个采集器,可以在采集器的子节点中创建定时器。

原文地址:https://www.cnblogs.com/DaFaYuan/p/12496237.html