集合点:lr_rendezvous("集合点名称")

实现严格并发。

在性能测试领域,经常会听到两个词语:“严格并发”和“业务并发”。

严格并发:通过技术手段实现,多个连接在同一精确时刻发出请求;

业务并发:模拟最真实的业务场景,人为感观上的同时发出请求;

为了实现某项特殊操作行为的严格并发,需要在脚本中相关位置加入“集合点函数”。

例如,10个虚拟用户进行同时登录操作,在该操作之前,存在虚拟用户初始化、访问首页等过程,那么每个用户到达登录操作的时间点上,就会存在一定的先后顺序。如果在登录操作的脚本之前,加入这个集合点函数,每个先到达的用户会停止执行下边的脚本,在集合点这里等待,直到10个虚拟用户全部到达该集合点之后,在精确的瞬间,同时执行集合点函数以下的脚本,实现严格意义的并发行为。

集合点对应的函数是:lr_rendezvous("集合点名称");

插入集合点方法:在相关位置点击右键,Insert>Rendezvous,输入集合点名称,即可,如图:

%E6%88%AA%E5%9B%BE64.png?version=1&modif            %E6%88%AA%E5%9B%BE66.png?version=1&modif

非特殊性需求下,模拟真实的压力场景时,建议不要使用集合点进行严格并发。以模拟真实的业务场景模型为主。

毕竟在某一精确时刻,所有用户同时进行某项操作,这样的业务模型在真实的使用中, 是很少存在的,那么我们得出的测试结果就存在一定的偏差。这个集合点是否使用、如何去用的情况还要靠大家在做性能测试之前,与需求方尽量确认真实的业务场景。

有时我们还可以在集合点函数后边加上随机思考时间,来不同程度的弱化严格并发的精度,来满足我们的测试更接近真实情况。关于“随机思考时间”的学习,我们在后续讲解关于随机函数时再一起学习。