思考时间
思考时间是用来模拟用户请求之间的延迟的。 LR中,是通过思考时间函数+设置来实现的:lr_think_time()
-
思考时间本身是不会影响脚本的功能实现。
-
思考时间的意义在于:当虚拟用户数保持不变的情况下,调节对服务器的压力。
一般来说,对于模拟在线用户负载
集合点
集合点是用来模拟实现严格的用户并发的技术手段。
在LR中,集合点的实现是通过函数(vugen中添加)和设置(Controller设置)来实现。
1、集合点函数
lr_rendezvous()
在脚本中起到的是一个标记的作用,表示任何虚拟用户任何时候执行脚本到达集合点的时候,都必须按照所设置的集合点策略进行集合等待、发送请求。
2、集合点设置
在Controller的Scenario-->Rendezvous选项中进行设置。 集合点设置是用来设置虚拟用户集合等待、释放执行的策略的。
-
disable vuser:表示被禁止的虚拟用户不参与集合点,即不受集合点策略控制的虚拟用户,但是这些用户还是会照常执行脚本(执行场景)。
集合人数的设置policy,有三种可选的方式:
-
% of all vusers:以所有的受控的虚拟用户作为统计的基数,然后通过百分比的方式来设置集合的人数。
-
% of running vusers:以所有运行状态中的虚拟用户作为统计的基数,然后通过百分比的方式来设置集合的人数。
-
Vusers:直接指定固定数量的虚拟用户,即集合等待的虚拟用户的最大数量。
-
超时时间:用来设置最后一个到达集合点的虚拟用户的等待时间,如果超过,则所有已经到达集合点的虚拟用户将会释放、执行后续的请求。
并发和压力策略
-
如果做负载、压力测试,建议使用思考时间的方式比较好。
-
如果做并发测试,则使用集合点。 一旦使用集合点的技术,则不需要考虑tps的问题,只需要考虑响应时间和错误率。 通常来说,使用集合点的时候,我们不会持续执行脚本,而是多次迭代(集合)执行的方式,取最后的平均值作为参考即可。
注意事项:
-
集合点函数的添加位置:必然是加在事务开始之前。
-
不同业务的集合的实现:
-
不同的业务需要有不同的脚本。
-
不同的脚本中分别设置集合点,然后名称保持一致。