LR(三)Vugen中脚本增强-思考时间和集合点

思考时间

思考时间是用来模拟用户请求之间的延迟的。 LR中,是通过思考时间函数+设置来实现的:lr_think_time()

  • 思考时间本身是不会影响脚本的功能实现。

  • 思考时间的意义在于:当虚拟用户数保持不变的情况下,调节对服务器的压力。

一般来说,对于模拟在线用户负载的情况,建议添加思考时间,这样对服务器负载的模拟会更加真实。 一般建议思考时间在随机1~5s这个区间。在runtime settings 中设置为随机思考时间

集合点

集合点是用来模拟实现严格的用户并发的技术手段。

在LR中,集合点的实现是通过函数(vugen中添加)设置(Controller设置)来实现。

1、集合点函数

lr_rendezvous()

在脚本中起到的是一个标记的作用,表示任何虚拟用户任何时候执行脚本到达集合点的时候,都必须按照所设置的集合点策略进行集合等待、发送请求。

2、集合点设置

Controller的Scenario-->Rendezvous选项中进行设置。 集合点设置是用来设置虚拟用户集合等待、释放执行的策略的。

  • disable vuser:表示被禁止的虚拟用户不参与集合点,即不受集合点策略控制的虚拟用户,但是这些用户还是会照常执行脚本(执行场景)。

集合人数的设置policy,有三种可选的方式:

  • % of all vusers:以所有的受控的虚拟用户作为统计的基数,然后通过百分比的方式来设置集合的人数。

  • % of running vusers:以所有运行状态中的虚拟用户作为统计的基数,然后通过百分比的方式来设置集合的人数。

  • Vusers:直接指定固定数量的虚拟用户,即集合等待的虚拟用户的最大数量。

  • 超时时间:用来设置最后一个到达集合点的虚拟用户的等待时间,如果超过,则所有已经到达集合点的虚拟用户将会释放、执行后续的请求。

并发和压力策略

  • 如果做负载、压力测试,建议使用思考时间的方式比较好。

  • 如果做并发测试,则使用集合点 一旦使用集合点的技术,则不需要考虑tps的问题,只需要考虑响应时间错误率 通常来说,使用集合点的时候,我们不会持续执行脚本,而是多次迭代(集合)执行的方式,取最后的平均值作为参考即可。

注意事项:

  • 集合点函数的添加位置:必然是加在事务开始之前。

  • 不同业务的集合的实现:

    • 不同的业务需要有不同的脚本。

    • 不同的脚本中分别设置集合点,然后名称保持一致。

 

posted @ 2020-08-16 22:41  hjy1995  阅读(313)  评论(0编辑  收藏  举报