性能测试场景的学习:controller
1|0一. 什么是controller
controller是一个核心组件:简单来说就是调用脚本,模拟用户的真实行为,对服务器产生压力,并且收集服务器资源使用情况,比如:TPS、响应时间、事务数、成功率
2|0二. 场景
1. 手工场景(百分比模式)
2. 面向目标场景
3|0三. 集合点
1. 什么是集合点?
模拟这种并发的操作
集合点放在事务的外面(比如登录事务开始之前)
在脚本里设置集合点
controller中需要重新选择脚本
百分比模式集合点置灰,需要切换到Vuser Group Mode
2. 集合点的策略
A:当所有用户的%X到达集合点时释放
B:当所有正在运行的用户的%X到达集合点时释放
C:当X个用户到达集合点时释放,也就是只要有X个用户到达集合点的时候,就会跑下面的操作,不会等其他用户都加载完再跑
3. 集合点使用的场景
跟你自己的需求来设置:一般用于秒杀,验证一瞬间的承受压力。和你设定的秒杀名额有关,比如秒杀名额只有10个,可以验证一下11个并发的时候,最后1个是不是失败了
但是:并没有100%的并发,在我们日常的性能测试中,很少用的集合点。因为日常并发中已经对服务器产生了很大的压力,已经可以验证很多性能问题了,就不需要一定设置集合点
设置集合点和不设置的区别:设置集合点,在释放的一瞬间的压力比不设置要大
4|0三. Load Generators
1. 为什么要用Generators?
(1) 8G内存,16C,为了减少一台机器的压力,才有多台机器来分担压力
(2) 12306订票系统,分出来:华南、华北、华中,来自不同区域的压力
2. 添加
也可以从这里添加
Ready表示已连接上
3. 每台机器需不需要脚本
(1) HTTP协议:不需要每台机器都有脚本,只要主控机上面有脚本就可以了
(2) java vuser协议:每台机器都要有相同的脚本,文件夹目录和名称都要一直,jar都要上传(jdk版本一致)
(3) LoadRunner版本最后一致,有时出现连接不上,但是高版本可以控制低版本的从机
(4) 从机只要安装了LoadRunner之后,在电脑右下角看到小广播就可以了,不需要做其他设置
4. 网络
(1) 在做性能测试的时候,一定要在局域网做,同一个网段去做
(2) 带宽:最好是1000兆带宽,买一个千兆交换机,现在一般都是千兆网卡了
5|0四. 场景设计模式
手工场景:scenario模式、group模式
5|1(一) scenario模式
scenario模式,是指所有脚本都使用相同的场景模式来运行,只需要分配每个脚本所使用的用户个数就可以
scenario模式分为real-world schedule(真实场景模式)和basic shedule(基础模式)
1. real-world schedule(真实场景模式)
初始化的方式:
增长方式:
快增长
慢增长
指定运行次数(Runtime Settings):迭代5次,跑10个并发用户,一共跑了50个事务
注意:迭代1次跑50个和迭代5次跑10个用户的区别是什么(直到完成这种模式)
(1) 事务数是一样的
(2) 产生的压力是不一样的
2. basic shedule(基础模式)
只能设置一次负载的上升和下降
5|2(二) Group模式
当场景一开始就立即运行
当场景运行后多少再运行
当某个group结束后再运行
一般在什么情况下使用这种group模式:
(1) 也可以说是一种偷懒的模式,在做性能测试回归的时候,设计好这种场景,就可以把很多脚本跑一次,看有没有错误或TPS相应时间,有没有达到之前的要求
(2) 或者下班之后,想在某个时间节点开始跑场景
如何选择?
是一个一个场景跑完之后,再添加另外场景来跑,还是一次把要跑的脚本都设定好,只要一次,直到所有的脚本场景都跑完?
前者如果把所有的脚本都加进来,就变成混合场景了,不是某个脚本单个功能的验证
__EOF__

本文链接:https://www.cnblogs.com/my_captain/p/12636870.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?