Controller控制器
一、场景类型
手动测试场景:灵活,更接近用户的实际使用场景;手动测试场景模式:用户组模式和百分比模式
面向目标测试场景:先定义预期目标,根据目标创建场景,然后执行场景,判断是否达到预期目标;未达到则继续创建场景并执行、判断
一、场景设计
启动Controller控制器后,会弹出“新建场景”对话框,其中第一个为手动场景,第二个为面向目标场景
1、手动场景Schedule配置
<1>按场景计划Scenario:
Initialite设置:虚拟用户初始化方式:
① 同时初始化所有虚拟用户(很少使用,可能初始化失败,不合逻辑)
② 每隔XX秒初始化XX虚拟用户;
③ 运行脚本之前把所有用户都初始化(最常用)
Start Vusers设置:虚拟用户的加载
④ 同时加载所有虚拟用户
⑤ 每隔XX秒加载XX虚拟用户
Duration设置:场景执行时间
⑥ 一直运行,直到所有虚拟用户运行完毕后停止
⑦ 根据实际情况手动设置运行时间(压测15-30min;稳定性可靠性测试24h或更多)
Stop Vusers运行完毕如何释放虚拟用户
⑧ 同时释放所有虚拟用户
⑨ 每隔XX秒释放载XX虚拟用户
<2>按用户组计划Group:分多个组,每个组都要分别设置自己的Start Vusers,Duration,Stop Vusers(更灵活)
LR默认将每个脚本定义为一个组
Start Group设置:按用户组进行场景设置
① 场景执行时立即开始运行该脚本
② 场景执行时XX时间后开始运行该脚本
③ 某个用户组脚本执行完毕后开始执行该脚本
<3>场景开始时间设置:场景立即开始,无延迟;场景延迟XX时间后开始运行;场景在指定时间点开始运行,如当天晚上12点开始执行
<4>百分比模式:先设置用户总数,按百分比分配执行多个同业务时 每个业务的用户数量
适合综合业务模型明确的性能测试(比如银行的转账、存款、取款业务)
2、面向目标场景Schedule配置
点击Edit Scenario Goal按钮
<1>Scenario Settings选项卡
Run Time 执行达到目标后场景继续运行XX时间后才停止
如果没有达到目标值时处理方案:(1)停止运行并记录结果;(2)继续运行直到达到目标
<2>Load Behavior选项卡:加载虚拟用户的方法
控制器自动加载
XX时间后达到目标用户
每执行XX时间加载XX用户
<3>目标类型:用来测试服务器处理并发用户的能力如何
1.Virtusl User目标类型:逐渐增加虚拟用户数到一定数目
2.Hits per Second目标类型:通过多次增加虚拟用户数量来增加点击率,判断点击率是否达到目标值;
如果用户数达到最大值时点击率未达到目标,则停止运行
3.Transactions per Second目标类型:设置每秒处理的事务数量为目标值,通过多次增加虚拟用户数量来增加事务处理率;如果用户数量达到最大值时事务处理率未达到目标,则停止运行
4.Transactions Response Time目标类型:多用户并发时的响应时间。设置一定的响应时间为目标值,不断增加虚拟用户数量,判断响应时间是否达到;如果虚拟用户最大值时仍响应时间未达到目标值,说明系统可以支持更多用户并发;M个用户时达到目标说明在目标响应时间内,系统最多可以处理M个用户的并发
5.Pages per Minute目标类型:设置每分钟处理的页面数量为目标值。一个事务可能由多个页面组成
3、Load Generator配置
Load Generato负载发生器,负责与负载机建立连接并控制负载机产生虚拟用户模拟运行
可以add负载机,完成后connect,测试负载机与控制机连接的情况,如果status为ready,表示连接成功;如果为failed,表示连接失败,这时就要检查网络是否存在问题。
控制器通过代理程序控制负载器运行,运行前需先启动代理程序(控制器与负载机都需启动代理):
开始->HP RunLoading->Tools->Loadrunner Agent Runtimes Settings
一、场景执行
场景控制
Reset重置/复位:将虚拟用户组重置为场景执行前的关闭状态,准备场景的下一次执行
Vuser虚拟用户组:单击后打开Vuser对话框,对话框中可以查看虚拟用户组中每个用户的状态(ID、运行状态、脚本、负载发生器和所用时间),可以对单个虚拟用户进行运行、停止、重置等操作。也可以单击对话框中的Add Vusers来添加新的虚拟用户
Run/Stop Visers:单击打开对话框,可以设置继续运行还是停止某个用户组。场景运行期间,可以在此对话框中添加新的虚拟用户。不同模式下对话框有所不同
场景执行期间查看场景
场景执行期间可以查看Vuser执行情况:
(1)在Scenario Groups视图中查看 Vuser运行状态
(2)事物详细信息:在视图右上角查看正在运行的场景概况
(3)查看输出窗口
打开输出窗口:view->show output
场景运行时,vuser和负载发生器会向controller发送错误、通知、警告、调试和批处理消息,这些信息可以在输出窗口中查看到。(重置时消息仍会保留,可设置为重置时删除消息)
details可查看详细消息文本,如果需要查看更加详细的信息,可以单击相应列的蓝色字体
分析输出信息时,需要确定以下几个方面的问题:
1) 出错是由于性能测试引起的还是由于脚本编写的错误引起;
2) 找到出错的日志信息。
要找到出错的具体日志信息,必须通过输出的信息找出:a错误信息是来自哪台负载机,b错误信息是来自哪个虚拟用户。确定这两方面的信息后就可以找到场景运行时的日志信息了。
一、场景监视
(一)联机监控
通过联机监控,loadrunner可以查看场景执行期间生成的数据。
场景监控过程:
① 控制器/优化控制台对监控器进行配置
② 通过负载发生器对被监控的服务器进行配置并监控
③ 数据传递到联机图,通过loadrunner联机图监控性能
监控过程由控制器执行,并在监控过程中收集监控数据,主要包括:
- 负载机执行时的数据
每个虚拟用户运行的数据由负载机获得,控制器监控负载机,在监控过程中,负载机先收集每个虚拟用户运行的相关数据,在将这些数据发给控制器,控制器把数据保存在数据库中
- 服务器运行时的相关信息
服务器的监控主要包括:
Web服务器:Microsoft I2S,WebSphere,WebLogic,tomcate,Apache
数据库服务器
LoadRunner主要监控服务器资源使用情况,如需要监控服务器自身的一些特性,则需要第三方监控工具来实现,如Web服务器。在整个性能测试过程中仅仅使用loadrunner是不够的。
(二)监控器与度量
在监视服务器之前的工作,用来确保监视连接成功
修改被监控主机的访问模式:
1、进入管理工具-本地安全设置-安全选项-网络访问-本地账户的共享和安全模式-访问方式改为“经典-本地用户以自己的身份验证”
2、保证被监控系统开启服务:Remote Procedure Call(RPC),Remote Registry Service,Remote Registry
3、确认安装控制器的计算机可以连接到被监视的计算机
4、确认并打开共享文件
5、在控制器中添加要监控的计算机资源:Monitors--Add Measurements
(三)联机监视器
场景运行时,可以在监控视图中查看数据变化情况
默认显示的四个视为:Vuser、事物响应时间、每秒点击次数、Windows资源;
单击鼠标右键,选择View Graphs可设置显示视图的个数
监视器选择设置:Tool菜单-Options-Monitors