录制设置
Recording options(录制设置)是对正式录制操作前进行一些参数设定。入口菜单为Tools→Recording options,这里面有很多选项,保持默认即可,介绍比较重要的选项设置
1、Recording:录制选项,提供了两种方式
HTML-based script (基于HTML的脚本),这种方式录制出来的脚本是基于HTML基础的。一般来说,如果使用IE访问的B/S架构就选择它。生成脚本简洁,基于用户操作模拟,浅显易懂
URL-based script(基于URL的脚本),这种方式录制出来的脚本是基于URL请求的。如果采用非IE标准的C/S架构,建议使用该模式来录制脚本,这样可以确保不会遗漏任何HTTP请求,但生成代码比较繁琐。另外,使用了HTTPS协议也可选用此模式
2、Port Mapping:端口映射,默认为Socket level data,一般情况下不需要更改,但是在无法录制脚本或者脚本为空的情况下,可以选择此选项为Socket level and Win1Net level data试试
3、Advanced:高级设置
Reset context for each action:在录制过程中,每个action之间是否需要重置context,这里存放请求发送后返回的数据信息,如服务器返回的HTML、Cookie、Session等
Save snapshot resources locally:在本地保存快照资源
Generate web_rege_find functions for sub-frames:为子框架也生成检查点函数
Add conmment to script for HTTP errors while recording:录制过程中出错时添加注释内容
Support charset:编码规则选项,如果出现了乱码,可以试着选中“UTF-8”
Recording Engine:录制的兼容性选项,可以使用以前的录制引擎来录制脚本
Recording scheme Headers:对Headers 中的内容进行过滤
Recording scheme Content Types:对录制的正文内容进行过滤
Recording scheme Non-Resource:对非资源的内容进行过滤
4、Correlatio:关联
Enable correlation during recording:录制过程中启用自动关联。这个就是自动关联的开关
Controller介绍
Controller可谓是LoadRunner的“心脏”,承担着多种工作任务。最常见的就是场景的设计,压力机的部署、脚本调度、监控以及数据收集
Controller工作原理是,通过场景设计来模拟用户的真是操作并调用VuGen中的脚本,再通过设置的压力机产生压力。在场景运行过程中,Controller可以收集虚拟用户执行情况、事务的响应时间、吞吐量、各个服务器资源以及各个应用资源的信息并实时显示,帮助测试人员分析
Controller的启动有两种方式:
开始菜单下的 HP LoadRunner → Applications →Controller 启动
从VuGen中选择Tools→Create Controller Scenario命令后创建
场景设计实战
Controller可以完成多种场景设计,如快增长、慢增长、组模式等,基本可以满足日常的性能测试场景需求。启动Controller后新建场景界面,见P54
1、Select Scenario Type:选择场景类型。根据需要,可以选择手工场景和基于目标的场景。各子选项含义如下
Manual Scenario:手工场景。就是手工指定场景如何运行,比较灵活,可以完成绝大多数的场景需求。此处还有一个选项,是否百分比模式,一般情况下不够选
Goal-Oriented Scenario:基于目标的场景模式。就是要设定一个目标,然后达到这个目标。如,设定Hits per Second 100,接着设定虚拟用户数的范围(这个是和Manual Scenario 不同的地方),最后根据设置的时间运行,如果没有达到既定目标,则可以选择停止运行或继续运行
2、Available Scripts:当前可以使用的脚本。如果没有想要的脚本,可以单击Browse按钮选择
3、Scripts in Scenario:当选中要加入场景的脚本后,单击Add按钮,即可把脚本加入场景并在该列中显示
集合点
集合点是什么,就是10名运动员从起点出发,要跑3圈,规定再次经过起点时要等待所有运动员全部到达后,才能进行第2圈的赛跑,集合点就是这个道理,它的意义在于最大程度地模拟并发
LoadRunner中启用集合点需要在编写脚本时加入,集合点函数为lr_rendezvous(“集合点名称”),只需要把集合点函数放到脚本的某个事务或操作之前即可。只有完成这步操作后,才能在Controller中启用集合点,方法为依次单击Inser→Rendezvous菜单项
集合点策略
1、Rendezvous:集合点的列表,可通过下方的Disable Rendezvous按钮来启用或关闭
2、Scripts:当前脚本的名称
3、Vuser:当前设置的并发用户数,可通过下方的Disable VUser按钮来启用或关闭虚拟用户
1、理解IP欺骗
IP欺骗就是使不同用户有不同IP地址,这样最真实地模拟了显示场景。只有在特殊的要求下才会使用
1)、某系统限制了同一个IP用户在短时间内对系统进行恶意或大量的请求访问
2)、负载均衡策略是根据IP规则分配
2、启用IP欺骗,就是本地的IP地址不能设置为“自动获取”,必须指定一个静态IP地址
1)、依次单击HP LoadRunner → Tools → IP Wizare 进入设置对话框
2)、选择Create new setting,单击“下一步”按钮
3)、输入服务器的IP地址,或者留空,单击“下一步”按钮
4)、单击Add按钮,弹出添加IP的对话框
5)、修改From IP 为 192.168.3.9,Number to add 为 5,单击OK按钮
6)、单击“完成”按钮,单击“Save as”按钮可以将本次增加的IP地址保存成 .ips文件,下次再使用时就可以直接选择此文件。单击OK按钮后完成设置
7)、进入Controller中,选择Scenario → Enable IP Spoofer,完成IP欺骗设置的全部操作
验证结果,在VuGen中编写代码后运行即可
场景监控
1、虚拟用户数的监控与增加
此处显示的是虚拟用户的状态,可显示出虚拟用户从准备、初始化、运行到停止的所有状态过程,同事能统计出成功、失败以及集合点处的虚拟用户数
如需运行过程中增加虚拟用户,单击中间区域中的Vuser按钮,弹出Vuser对话框。单击Add Vusers按钮,弹出Add Vuser对话框中的Quantity to add值后单击OK按钮即可完成
2、场景运行状态监控
右侧区域是场景运行状态的概览,可以看到当前虚拟用户数、执行时间、最后60s的点击率、通过事务数、失败事务数以及错误信息,其中重点关注的是事务数以及错误信息,这里可以清晰地看到事务数的变化,方便快速判断。
如果存在多个事务,则可以单击后面的放大镜按钮,查看到详细的列表信息。
3、利用脚本自定义显示消息
可以通过编写脚本来自定义监控信息
Analysis介绍
LoadRunner的第三大组件Analysis可以提供数据图表的汇总,辅助进行分析,能各种数据图进行合并、分解、方便定位发现问题,还能帮助完成报告的生成与对比
1、General:常规设置
Date Format:日期格式,可根据自己的习惯随意选择
File Browser:文件浏览器,可指定默认打开时的目录
Temporary Storage Location:临时存储位置,可根据实际情况自行选择临时文件的存放位置
Summary Report:概要报告,设置其响应时间显示在概要报告中的事务百分比,默认为90%
2、Result Collection:结果收集
Date source:数据源,主要是对生成数据进行设置,一般不做修改
Date Aggregation:数据聚合,一般默认选择第一项,即自动聚合数据
Date Time Range:数据时间范围,可以选择某段时间并应用到场景中进行数据分析
Copy Controller Output Messages to Analysis Session:将Controller中的输出信息复制到Analysis,一般默认,不建议选择Always copy,因会影响到数据手机性能
3、Database:数据库
是设置测试结果存储,如果Analysis结果数据超过2GB,那么建议存储到数据库中,此时选择SQL Server或ACCESS
性能数据图分析
使用Analysis打开WebTours测试报告后,默认出现Analysis Summary页面,这是概要图,可以从全局角度来查看系统性能表现以及数据汇总
1、统计汇总,统计出了最大虚拟用户数、总吞吐量、平均每秒吞吐量、总点击数、平均每秒点击率以及总错误数等相关信息,大致能判断系统的性能。一般单位时间内吞吐量越大,说明服务器处理能力越好
2、事务摘要,主要是对事务的概况进行统计,包括最小响应时间、平均响应时间、最大响应时间、标准差以及通过的事务数和失败的事务数等check_itinerary 事务存在较多的失败而且响应时间偏长
3、HTTP返回状态概要:主要统计服务器的返回状态。状态码200说明请求都是成功的
非200的状态码不一定就是错误的,需要根据具体的业务具体分析,例如:返回302状态码也是正常的,不会影响性能测试结果