2.场景设计与监控
当Vuser Script开发完成后,使用Controller将这个执行脚本的用户从单人转化为多人,从而模拟大量用户操作以形成系统负载。场景是一种模拟大量用户操作的技术手段,通过配置和执行场景向服务器产生负载,监控系统的各项性能指标。
1)场景设计
通过对场景的设计,可以生成和用户需求相同的真实负载。场景分为目标场景和手动场景。一般地,我们使用使用自动场景来进行验收测试,使用手动场景来定位性能瓶颈。
目标场景:
通过设置一个运行目标,Controller会自动逐渐增加负载,测试系统能否稳定达到预期目标。如果达标则说明系统的性能符合测试目标,否则提示无法达标。自动场景是定性型性能测试,我们只关心最后性能测试的结论是否符合性能需求。
自动场景提供了5种目标:
1.虚拟用户(Vitual Users):指被测系统所需要支持的用户数;
2.每秒点击数(Hits Per Second):指在1秒内能做到的点击请求数;
3.每秒事务数(Transactions Per Second):反映了系统处理能力;
4.事务响应时间(Transactions Response Time):单位秒,反映了系统的处理速度;
5.每分钟页数(Pages Per Minute):指每分钟页面的刷新次数,反映系统每分钟能提供的页面处理能力。
手动场景:
自行设置Vuser的变换,通过增减Vuser来模拟真实的用户请求,完成负载的生成。手动场景是定量型性能测试,通过观察在负载增加过程中系统各个组件的变化情况,来定位性能瓶颈。
在这里,我们对上述录制完成的脚本创建手动场景来进行性能测试,如图19。然后点击OK按钮进入Controller的场景设计主界面,如图20。
场景设计主界面主要包括以下3部分:
1.Scenario Groups
在这里可以添加多个脚本,并为每个脚本指定Vuser数目,添加目标LG,如图21、22所示。
2.Scenario Schedule
对Global Schedule进行如下设置(将适用于该group中所有脚本):每隔1s初始化2个Vuser,总共10个Vuser。 Vuser入场时,每隔5s增加2个Vuser,在到达最多用户数时持续运行5min,Vuser退场时每隔5s减少2个Vuser。
3.Interactive Schedule Graph
在交互计划图中可以直观地显示场景计划的用户负载情况。如图23所示,Vuser数目先陆续增加,在第20s时到达峰值10并持续5min,然后逐渐减少至0,整个场景持续5min 40s。
▲图24-Interactive Schedule Graph
2)场景监控
完成场景设计后,点击Run标签页切换到场景监控主界面,如图25。在左侧Scenario Groups中列举了所有Vuser的运行状态;在右侧Scenario Status中列举了当前场景的运行情况;在下方Available Graphs中列举了所有可监控的计数器类型,通过添加计数器实例可以让LR监控其性能数据(如CPU、内存使用率等)。
我们可以监控本地服务器或远程Windows/Linux/AIX服务器(监控Linux/AIX需要先安装rstatd组件)以及Weblogic/WebSphere等应用服务器的性能数据。
点击Start Scenario按钮执行场景,可以看到交互计划图开始变化,监控主界面的Vuser状态开始变化,Running Vuser开始增加,Transaction Graphs等计数器开始显示数据。
点击Vusers 按钮可以查看当前所有Vuser的状态,并可以在执行过程中通过Add Vuser及Stop Vuser来动态调整负载情况,如图29。选中Vuser,右键选择Show Vuser可以查看该Vuser真实的运行情况,如图30。