zoukankan      html  css  js  c++  java
  • 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的问题,只需要考虑响应时间错误率 通常来说,使用集合点的时候,我们不会持续执行脚本,而是多次迭代(集合)执行的方式,取最后的平均值作为参考即可。

    注意事项:

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

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

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

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

  • 相关阅读:
    蓝桥杯如何训练?(附VIP题库)
    scratch2.0的教材视频,王木头系列
    out文件 dev c++
    MongoDB 学习笔记
    golang 学习笔记 -- struct interface的使用
    goang学习笔记---struct
    golang 学习笔记 ---JSON
    golang学习笔记 ---rand
    golang学习笔记 --go test
    golang学习笔记---string && strconv
  • 原文地址:https://www.cnblogs.com/yjh1995/p/13514859.html
Copyright © 2011-2022 走看看