第10单元 学习Controller场景介绍
10.1 Controller页面介绍
1) Controller页面介绍
当虚拟脚本开发完成后,使用controller将这个执行脚本的用户从单人转化为众人,从而模拟大量用户操作,进而形成负载。
我们要对这个负载模拟的方式和特征进行配置,从而形成场景。
场景(scenario):是一种用来模拟大量用户操作的技术手段,通过配置和执行场景向服务器产生负载,验证系统各项性能指标是否达到用户要求,而Controller可以帮助我们队场景的设计、执行及监控进行管理。
Controller:场景设计、场景监控。
场景设计:对用户需求相同的真实负载。
10.2Controller流程介绍
1) Controller流程介绍
新建场景:目标场景、手工场景
目标场景:
通过Vugen tools—》create Controller scenario,脚本转化场景。
设置场景类型、负载发生器的地址、脚本组的名称以及结果的保存地址。选择手工场景是,还要设置手工场景模拟的用户数。
Controller新建场景:设置场景类型及对应的脚本。将available scripts脚本列表中的对应脚本添加到右侧的scripts in scenario列表中即可。
10.3如何模拟真实加压方式
1) Controller如何模拟真实加压方式
10.4手动场景和目标场景介绍
1) Controller手动场景和目标场景介绍
目标场景:
设置一个运行目标,通过Controller的Auto Load功能进行自动化负载,如果测试的结果达到目标,则说明系统的性能符合测试目标,否则就提示无法达到目标。
使用场合:
定性型的性能测试,我们只关心最后性能测试的结果是否符合性能需求,常常用在验收测试的场合。
在目标场景中设置一个需要测试的目标,controller会自动逐渐增加负载,测试系统能否稳定地到达设定的目标
5个面向目标场景的指标:
1) Virtual Users
2) Hits per second
3) Transactions per Second
4) Transactions Response Time
5) Page per Minute
运行模式:
1) scenario setting(场景设置)
2) Load Behavior(负载生成)
例子:
系统的需求规定50—150个用户同时在线时(其中用户类型和所占比例为,登录20%,浏览40%,下单40%)每个用户打开一篇帖子的响应时间在2秒内。Scenario sciript %of target
手工场景:
自行设置虚拟用户的变化,通过设计用户的添加和减少过程,来模拟真实的用户请求模型,完成负载生成
定量性测试,核心是设置用户的负载方式,通过设计用户的变化,分析系统的性能瓶颈。
区块划分:
1) scenario schedule
scenario、group
scenario:Run mode real-world schedule 和Basic schedule
可以添加多个action的压力模式,不再是单一峰值模式。
2) global schedule
Start Vusers:建议设置为周期性负载增长模式。立即开始全部用户,每隔一段时间增加一定的用户负载方式。
Duration:负载持续方式。设置了迭代次数,运行完迭代次数后,场景结束;设置一定时间的负载可以测试系统在该负载情况下的稳定性。
Stop user:直接停止;负载逐渐下降,分析系统资源能力。
3分钟用户达到300个,持续5分钟后,用户数在1分钟内下降至50个,最后2分钟内再上升到500个,那么可以按如下要求进行设计。
Basic Schedule:
常见的负载测试都是通过Basic方式实施的。一般来说,只要峰值下满足性能要求,那么常规情况下也能满足性能需求。
Real-world偏向于模拟用户操作流程
Basic偏向于模拟一种操作。
Group模式:
百分比组及组内
Load Genrator是运行脚本的负载引擎,模式使用本地的负载生成器来运行脚本。所以,一台电脑上无法模拟大量的虚拟用户,需要调用过个Load Generator来完成大规模的性能负载。
1) 添加负载服务器,输入ip,平台,点击ok,出现ready,即可连接成功
连接失败,一般防火墙的问题,权限配置问题导致
使用进程方式,一个vuser会占用3MB的内存,使用线程模式,200KB
2) 用户管理
查看用户状态,当场景开始运行时,可以对正在运行的用户进行监控
Service level agreement(服务品质保障):该功能主要为了方便对某些数据的阈值进行监控。当测试结果无法达到SLA指定的目标时,在最终的性能测试报告中该项目就为失败状态,否则按照成功状态处理,SLA提供了一个简明判断测试结果的功能。
第11单元 学习Controller手动场景设置
11.1掌握运行用户的设置策略
1) Controller掌握运行用户的设置策略
11.2掌握运行设置
1) Controller掌握运行设置策略
11.3掌握集合点的策略
1) Controller掌握集合点策略
11.4掌握运行场景视图
1) Controller掌握运行场景视图