Loadrunner-Controller
负载生成器、场景运行
目标
1. 掌握负载机的添加与使用
2. 了解水平服务协议作用及使用
一、负载生成器(Load Generator)
1、为什么要学习负载生成器
提示:负载生成器俗称负载机
说明:
1). 性能测试就要面临模拟大量的虚拟用户并发请求,单台负载机就面临自身硬件性能瓶颈问题,需要扩展多台
负载机上运行达到减压不减虚拟用户的目的;
2、什么是负载机
说明:在LR中运行场景内脚本的机器,被称为负载机
3、使用负载机的流程
1. 启动Load Generator
2. 添加负载机
3. 场景-用户组(脚本)选择相应的负载机
启动Load Generator
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170645844-1456178007.png)
说明:
1. 通过工具栏启动,点击 标1
2. 通过菜单栏(Scenario)->Load Generator
添加负载机
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170646477-320522474.png)
1. 说明:
1). 标1:点击添加负载机
2). 标2:输入负载机IP、机器名;如果添加本机可以输入本机ip或localhost
3). 标3:选择负载机平台(操作系统),支持 UNIX、Windows
2. 问题:
1). 添加负载机后,如何确定是否连接上负载机?
扩展 测试连接负载机
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170646982-1783598070.png)
1. 说明:
1). 标1:选中负载机
2). 标2:测试连接负载机
3). 标3:查看测试结果(Ready:通过;Down:未连接;Failed:失败)
2. 提示:
1). 负载机需要安装LR或者Load Generator
2). Linux系统直接安装Load Generator 下载相关文件 loadrunner-11-load-generator.iso
3. 问题
1). 连接负载机失败,负载机需要那些操作及注意事项?
扩展Load Generator安装说明
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170647352-1154982385.jpg)
1. windows直接通过LR安装包安装
2. Linux需要从官网或其他网站下载loadrunner-11-load-generator.iso
提示:这里我们说明下Windows下安装Load Generator的位置
扩展 负载机配置及注意事项
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170647784-2083595334.png)
说明:
1. 网络-负载机与控制机网路通畅(ping 负载机ip)
2. 代理服务程序-负载机必须启动LoadRunner Agent Process 代理服务程序;
(位置:开始程序->HP LoadRunenr->Advanced Settings->LoadRunner Agent Process)
3. 防火墙-负载机上的防火墙为关闭状态
4. 权限配置-负载机运行设置工具内输入负载机本机登录用户名和密码,目的解决LR控制机远程连接负载机权限问题
(位置:开始程序->HP LoadRunner->Tools->LoadRunner Agent Runtime Settings Configuration
扩展 负载机授权配置图
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170648165-1548757039.png)
说明:解决LR控制机连接负载机权限问题
总结
1. 负载机概念及作用
2. 负载机添加过程
3. 负载机安装程序及注意事项
提示
场景搭建及场景内脚本指定负载机我们都以学完,接下来我们学习场景的运行
二、场景运行
切换运行界面
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170648494-1686154758.png)
说明:在场景设计页面下,点击 标1 切换到场景运行界面
场景运行界面
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170648897-1829030315.png)
1. 说明:
1). 标1:场景用户组虚拟用户运行状态图
2). 标2:场景运行状态概览图
3). 标3:可用性能计数器及性能计数器指标走向图
2. 提示:
1). 启动场景及场景运行完成,关注点在标2区域
2). 场景启动,虚拟用户未加载完之前,关注点在标1区域
3). 场景启动,虚拟用户加载完成,持续运行阶段,关注点在标3区域
标1、虚拟用户运行状态图
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170649283-1685882753.png)
1. 说明:
1). Down(关闭):Vuser处于关闭状态
2). Pending(挂起):Vuser已创建,可以初始化,正将脚本传输到负载机
3). Init(初始化):Vuser正在负载机上执行初始化 (Initialize)
4). Ready(就绪):Vuser已执行脚本初始化部分(init函数),可以运行Action函数
5). Run(正在运行):Vuser脚本正在运行 (Start Vusers)
6). Rendezvous(集合点):Vuser到达集合点,等待条件满足释放
7). Passed(完成并通过):Vuser已运行结束,状态为通过 (Duration)
8). Failed(完成并失败):Vuser已运行结束,状态为失败
9). Error(错误):Vuser运行中发生了错误
10). Gradula Exiting(逐步退出):Vuser正在运行退出前的最后一次迭代 (Stop Vuser)
11). Exiting(退出):Vuser已经完成操作,正在退出
12). Stopped(停止):Vuser被停止,不在运行
2. 提示:
1). 重点关注5、6、7、8
标2、场景运行状态概览图
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170649719-99118321.png)
1. 操作区:
1). Start Scenario:运行当前场景
2). Stop:停止正在场景
3). Reset:清除上次场景运行记录
4). Vuers:对场景当前选中的脚本虚拟用户进行修改(运行、添加、删除、指定负载机)
5). Run/Stop Vusers:对当前场景内脚本进行操作(运行、停止)
2. 结果区:
1). RunningVuser:运行用户数 当前脚本用户数-stop区的用户数
2). Elapsed Time:运行时间
3). Hits/Second:每秒点击数
4). Passed Transaction:通过事务数
5). Failed Transaction:失败事务数
6). Errors:错误个数
标3-可以用的性能计数器及性能计数器图表
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170650141-1542275682.png)
1. 说明:
1). 标1:可在标2检测的指标;
2). 标2:显示标1指定指标走组图; 在标1选中指标双击或拖拽到标2
3). 标3:对应用服务器硬件资源(CPU、内存、网络、磁盘)等性能指标进行度量统计;
2. 提示:
1). 标3度量区,度量项根据不同的性能指标有所不同,但是我们大多数只关注几项;
(Max:最大值;Min:最小值;Avg:平均值;Std:标准偏差)
运行
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170650592-206799667.png)
1. 说明:
1). 以上运行数据,虚拟用户共10,场景内含两个脚本,虚拟用户数比例(8:2)
2). 场景运行时长:1分09秒 (Elapsed Time)
3). 每秒点击率:50.75
4). 通过事务数:274
2. 提示:
1. 以上数据,只是运行主要概况;
2. 详细报告数据可以通过Analyze Result得到
打开Analyze Result(分析报告)
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170650986-1739196719.png)
说明:
1. 通过工具栏 标1 打开Analyze Result
2. 通过菜单栏(Results->Analyze Result)
预览报告
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170651348-1834192204.png)
说明:
1. Analysis 还没没有学习,在这里先使用下它生成报告
2. 报告具体内容,后面相应章节会学习;
场景运行 总结
1. 虚拟用户状态图作用
2. 场景运行概览图作用
3. 性能计数器的使用
服务器 性能资源指标监控与服务水平协议(SLA)
目标
1. 掌握监控应用服务器性能资源指标方法
2. 了解服务水平协议的功能的作用及使用
一、服务器 性能资源指标监控
为什么要监控服务器资源性能指标?
说明:资源性能指标就是预期结果,性能测试的目的和功能测试一样,观察实际结果是否与预期结果相否;
什么是资源性能指标
1. 业务需求:
1). 系统在1000人并发访问的时候,要求CPU利用率不超过75%;
2). 系统在500人进行订单查询的时候,系统可用内存要在20%以上
2. 提示:
1). 《CPU利用率不超过75%》、《500人查询内存可用内存20%以上》就是资源性能指标
2). 资源性能指标依靠操作系统提供的【性能计数器】来记录;
什么是性能计数器?
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170651740-783200850.png)
说明:性能计数器也叫性能监视器,是操作系统提供的一种系统功能,它能实时对操作系统内应用程序的性能数据进行
采集、分析;
提示:
1. Windows操作系统的 perfmon工具
2. Linux操作系统使用相应的命令或第三方工具,工具如:nmon
服务器资源 常用指标
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170652181-1691815692.png)
说明:
1. 我们初期先掌握这几个服务器资源常用指标;
提示:
1). % Processor Time指标在Perfmon工具Processor系列内
2). Available MBytes指标在Perfmon工具Memory系列
3). % Disk Time指标在Perfmon工具PhysicalDisk系列
二、添加资源性能计数器指标
说明:在LoadRunner中添加资源性能计数器;
需求:在LR数据监控中监控应用服务器可用内存、CPU使用率、硬盘读写时间
(参考1.4服务器资源指标)
操作步骤
1. 在Available Graphs激活System Resource Graphs(系统图表)
2. 在系统资源图表上右击->Add Measurements(添加度量值)
激活System Resource Graphs(系统图表)
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170652519-660674098.png)
说明:
1. 这里我们以Windows系统为类
2. 双击Windows Resources激活(或拖拽),激活;
3. 激活后在右侧图表区出现-Windows Resources图表
4. 在Winddows Resources图表添加服务器-内存指标
Windows Resource图表 添加指标
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170652883-1251905933.png)
1. 说明:
1). Windows Resources图标上右击->Add Measurements(添加度量值)
2). 标1:弹出添加服务器窗口
3). 标2:Name:为服务器IP地址
3). 标3:操作系统可以默认(添加成功后会自动获取系统版本,比如Win7)
添加指标(CPU、内存、硬盘)
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170653460-593528700.png)
1. 说明:
1). 选中标1、标2(本次不关注的指标)
2). 标3:删除多余指标(标1、标2)
3). 标4:点击OK 添加列表内指标
2. 提示:
1). 默认把操作系统常用指标全部列出,需要删除多余指标
添加指标(CPU、内存、硬盘) 效果图
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170653884-816830254.png)
扩展 修改图表监控区显示图表数量
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170654281-2063555178.png)
1. 图标区域鼠标右键->View Graphs
2. 菜单(View)-View Graphs
提示:
1. 双击指定图表,可放大图表;
2. 选中指定图表右击->configure可对相应图表属性、样式进行配置
监控Windows资源注意事项
1. 确保lR控制机与需要监控的pc机网络通畅(ping 192.168.X.X )
2. Remote Procedure Call (RPC)、RemoteRegistry两个服务要启动,默认为启动;
3. 本地账户共享和安全模型-经典-对本地用户进行身份验证不改变其本来身份【win7旗舰版默认】
(gpedit.msc windowns设置-安全设置-本地策略-安全选项-本地账户共享和安全模型)
总结
1. 性能计数器与性能指标关系
2. 添加监控指标服务器时,Name为:?
2. Available Byte(Memory)指标含义
二、服务水平协议(SLA)
为什么学习SLA?
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170654748-582439129.png)
说明:
1. 我们在场景设计区域,右上侧有个SLA专栏,我们需要对它的作用及使用做个了解。
2. 测试需要有预期结果,SLA就是给场景运行之前给相应指标设定个预期结果;
什么是SLA?
说明:Service Level Agreement(SLA) 是在场景执行之前定义的相应负载测试目标,在场景运行之后Analysis
将运行时收集的指标值和SLA设定的进行对比,然后确定本次测试是成功还是失败。
需求1
1. 订票网站,20用户同时订票,登录在3s内完成,订票在15秒内完成;
SLA使用
新建SLA
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170655169-1876754363.png)
点击标1 新建SLA服务
新建SLA
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170655484-706967504.png)
点击 Next进行下一步
选择指标
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170655869-42374189.png)
说明:
1. 需求为登录、订票事务时间,所以我们选择 标1
2. 标1 有两个选项Percentile(百分比)、Averge平均值 【选择:Percentile】
提示:
1. Percentile(百分比)默认为90%(有百分之90的通过)
选择事务
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170656229-354487671.png)
说明:
1. 添加登录和订票两个事务
提示:
1. 自录制脚本的时候,必须添加相应的事务;
设置事务预期值
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170656598-939693126.png)
说明:
1. 设置90%登录用户时间小于等于3秒
2. 设置90%订票业务小于等于15秒
完成SLA服务创建
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170656941-1615420706.png)
1. 说明:
1). 1. 勾选点击标2 完成当前SLA添加后继续添加SLA服务
2). 2. 点击完成当前SLA服务 【使用】
查看SLA服务
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170657329-1510826760.png)
1. 说明:
1). 1:刚创建的SLA服务
2). 2:查看服务细节
Analyze Result SLA报告
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170657658-646024792.png)
Analyze Result SLA明细
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170657968-376286593.png)
说明:
1. Goal:预期目标值
2. Actual:实际值
SLA总结
1. 什么是SLA服务水平协议
2. SLA服务服务水平协议使用步骤
IP Wizard的应用
目标
1. 理解IP Wizard应用场景
2. 了解IP Wizard使用
一、IP Wizard(IP欺骗)
为什么使用IP欺骗?
说明:应用服务器限制一个IP地址只能使用应用指定功能一次操作,如:投票系统;
什么是IP欺骗
说明:LoadRunner系统的 IP Wizard工具可以模拟出多个不同的IP地址,每个虚拟用户都可以使用不同的IP地址
完成类似投票系统真实场景的业务操作;
IP Wizard使用步骤
1. 配置:使用IP Wizard工具配置IP
2. 应用:运行场景时启用Enabled IP Spoofer
配置-启动IP Wizard工具
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170658311-206396964.png)
(要用系统管理员权限运行IP Wizard,以管理员运行cmd命令窗口,并用cmd窗口输入地址,打开软件)
1.说明:
1). 开始菜单->HP LoadRunner->Tools->IP Wizard
2. 注意:
1). 启动IP Wizard工具时,电脑IP地址必须为【固定IP地址】,不可用DHCP获取模式
在看了视频之后,我对网络有了一定的理解,DHCP是路由器动态分配给计算机的ip地址,故IP地址在其网段内是可变的。
查看路由器分配给电脑的DHCP模式的地址
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170658626-2001503229.png)
如何将电脑IP地址设为固定的IP地址
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170658952-552042983.png)
ok,这样就将电脑IP地址设为固定的IP了,而且可以看出此网段是从192.168.1开始的。
配置-选择类型 创建IP
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170659299-1696333992.png)
说明:
1). 1:创建IP(选择)
2). 2:删除IP(测试完毕时要使用)
配置-搜索服务器IP段地址
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170659613-51814565.png)
输入本机网络连接网段,点击下一步
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170659953-531837937.png)
点击ok,系统会为你初始化IP
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170700355-1116250634.png)
点击完成,系统就会为你分配IP地址了。
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170700682-1395302931.png)
就已经成功了。
1. 说明:
1). 开始运行->cmd->ipconfig /all 查看添加IP
2). IP Wizard工具配置使用就讲完了
IP Wizard 应用
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170701064-2084712809.png)
1. 说明:
1). 【必须】勾选Enabled IP Spoofer(启用IP欺骗)
2). 位置:菜单(Scenario)->Enable IP Spoofer
删除IP
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170701360-867726915.png)
1. 说明
1). 选择 Restore original set(恢复原始设置)
2). 输入服务器ip
3). 点击完成即可
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170701711-519424712.png)
(一直点击下一步,即可删除欺骗的IP)
使用IP Wizard注意事项
1. 使用IP Wizard必须确保IP地址为静态IP,不能为动态(DHCP)IP
2. 负载机必须启用LoadRunner Agent Process程序
3. 运行场景时,启用Enabled IP Spoofer 选项
二、练习
需求:
1. 业务:订票
2. 场景:20个用户使用订票业务
3. 要求:每个虚拟用户使用不同的IP进行订票;
操作步骤
1. 录制(手写)订票业务脚本
2. 搭建订票场景 用户数20
3. 使用IP Wizard工具生成20个IP地址
4. 启用IP欺骗(Enable IP Spoofer)
5. 运行场景-查看虚拟用户日志
6. 查看Analysis Result报告
场景搭建 示意图
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170701976-2008431710.png)
说明:
1. 虚拟用户:20
2. 场景模式:场景+基础计划
用户日志
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170702299-153559235.png)
1. 说明:每个用户有自己的IP
2. 提示:
lr_get_vuser_ip() 函数可以获取虚拟用户IP地址
3. 用法:
char *ip;
ip = lr_get_vuser_ip();
if (ip)
lr_output_message("The IP address is %s", ip);
else
lr_output_message("IP spoofing disabled");
将上面这段代码放到要执行的脚本中(使用IP欺骗的脚本)
Analysis Result报告
![](https://img2020.cnblogs.com/blog/2143358/202010/2143358-20201010170702702-1502330927.png)
总结
1. IP Wizard 应用场景
2. IP Wizard使用注意事项
3. 获取虚拟用户IP地址函数
提示
以上执行完Analysis Result报告-结果摘要,在接下来知识点讲解;