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 @   hjy1995  阅读(321)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示