为什需要集合点,集合点有什么作用?
虽然我们的“性能测试”理解为“多用户并发测试”,但真正的并发是不存在的,为了更真实的实现并发的操作,我们可以在需要压力的地方设置集合点。以登录功能为例,每到输入用户名和密码登录的地方,所有的虚拟用户都相互之间等一等,然后一起访问,这样对服务器的冲击力更大,例如:可以在秒杀、抢购等高并发场景使用
集合点操作步骤
步骤一:接着在之前创建的脚本的基础上,右键点击 HTTP请求—->定时器—->Synchronizing Timer
步骤二: 设置集合点
Number of Simulated Users to Group by(虚拟用户组的数量): 每次释放的线程数量(例如:可以设置有50个需要用户一起开始登陆)。如果设置为0,等同于线程组中设置的线程数量。
Timeout in milliseconds(超时时间,以毫秒为单位): 如果设置为0,Timer将会等待线程数达到了”Number of Simultaneous Users to Group”中设置的值才释放。如果大于0,那么超过Timeout in milliseconds中设置的最大等待时间(毫秒为单位)后还没达 到”Number of Simultaneous Users to Group”中设置的值,Timer将不再等待,释放已到达的线程。
注意:
如果设置Timeout in milliseconds为0,且线程数量无法达到”Number of Simultaneous Users to Group by”中设置的值,那么Test将无限等待,除非手动终止。
Synchronizing timer 仅作用于同一个JVM中的线程,所以,如果使用并发测试,确保”Number of Simultaneous Users to Group by”中设置的值不大于它所在线程组包含的用户数。
Synchronizing Timer是在每个sampler(采样器)之前执行的,而不是之后,不管这个定时器的位置放在sampler之后,还是之前。
作用域:当执行一个sampler之前时,和sampler处于相同作用域的定时器都会被执行。
如果希望定时器仅应用于其中一个sampler,则把该定时器作为子节点加入,如上图:Synchronizing Timer 所属于 HTTP请求。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/253702.html