创建负载测试场景
场景目标:模拟10个用户同时登陆、搜索航班、购买机票、查看航班路线并退出
打开Controller并创建一个新场景
1、打开HP LoadRunner
2、打开Controller
在LoadRunner Launcher窗格中单击运行负载测试
默认情况下,Controller打开时会显示”新建场景“对话框

3、选择场景类型
有两种场景类型:
通过手动场景可以控制正在运行的Vuser数目及其运行时间,另外还可以测试出应用程序可以同时运行的Vuser数目,
你可以使用百分比模式,根据业务分析员指定的百分比在脚本间分配所有的Vuser;首次启动LoadRunner时,默认
选中百分比模式复选框,如果已选中该复选框,请取消选中
面向目标的场景用来确定系统是否可以达到特定的目标
Controller窗口的设计选项卡分为三个主要部分:
”场景组“窗格
”服务水平协议“窗格
”场景计划“窗格

”场景组“窗格:在”场景组“窗格中配置Vuser组,你可以创建代表系统中
典型用户的不同组,指定运行的Vuser数目以及运行时使用的计算机
”服务水平协议“窗格:设计负载测试场景时,可以为性能指标定义目标或服务水平协议(SLA);运行场景时,
LoadRunner收集并存储与性能相关的数据,分析运行情况时,Analysis将这些数据与SLA进行比较,并为预先
定义的测量指标确定SLA状态
”场景计划“窗格:在”场景计划“窗格中,设置加压方式以准确模拟真实用户行为,可以根据运行Vuser的计算机、
将负载施加到应用程序的频率、负载测试持续时间以及负载停止方式来定义操作
修改脚本的详细信息:
1、确保basic_script出现在”场景组“窗格的”组名称“列中

2、更改组名称
选择脚本并单击详细信息按钮,在组名称框中输入一个更有意义的名称

单击确定,此名称将显示在设计选项卡的场景组窗格中
通过Load Generator配置生成负载的计算机
1、添加Load Generator
在设计选项卡中,单击Load Generator按钮

localhost Load Generator的状态为关闭,说明Controller未连接到Load Generator
注:在典型的生产系统中,你将有若干个Load Generator,每一个拥有多个Vuser
2、测试Load Generator连接
运行场景时,Controller自动连接到Load Generator,你也可以在运行场景之前测试连接
选择localhost并单击连接;
Controller会尝试连接到Load Generator计算机,建立连接后,状态会从关闭变为就绪,单击关闭
配置场景计划
”场景计划“窗格分为三部分:计划定义区域、操作单元格和交互计划图
1、选择计划类型和运行模式
在计划定义区域,确保选中计划方式:场景和运行模式:实际计划


2、设置计划操作定义
你可以在操作单元格或交互计划图中为场景计划设置启动Vuser、持续时间以及停止Vuser操作,
在图中设置定义后,操作单元格中的属性会自动调整
现在你可以设置定义,时”操作“单元格显示如下

a 设置Vuser初始化
初始化是指通过运行脚本中的vuser_init操作,为负载测试准备Vuser和Load Generator,在Vuser开始
运行之前对其进行初始化可以减少CPU占用量,并有利于提供更加真实的结果
在”操作“单元格中双击初始化,这时将打开”编辑操作“对话框,显示初始化操作,选择同时初始化所有Vuser

b 指定逐渐开始(从”计划操作“单元格)
通过按照一定的间隔启动Vuser,可以让Vuser对应用程序施加的负载在测试过程中逐渐增加,
帮助你准确找出系统响应时间开始边长的转折点
在”操作“单元格中双击启动Vuser,这时将打开”编辑操作“对话框,显示启动Vuser操作
在开始X个Vuser框中,输入8个Vuser并选择第二个选项:每00:00:30(30秒)启动2个Vuser

c 安排持续时间(从交互计划图)
你可以指定持续时间,确保Vuser在特定的时间段内持续执行计划的操作,以便评测服务器上的持续负载;如果设置了持续时间,
脚本会运行这段时间内所需的迭代次数,而不考虑脚本的运行时设置中所设置的迭代次数
通过单击交互计划图工具栏中的编辑模式按钮确保交互计划图处于编辑模式
在”操作“单元格中,单击持续时间或图中代表持续时间的水平线,这条水平线会突然显示并且在端点处显示点和菱形,
在菱形端点向右拖动,直到括号中的时间显示为00:11:30,你已设置Vuser运行10分钟

注:如果菱形的前方显示了图例,请单击隐藏图例按钮显示菱形
d 安排逐渐关闭(从”计划操作“单元格)
建议逐渐停止Vuser,以帮助在应用程序到达阈值后,检测内存漏洞并检查系统恢复情况
在”操作“单元格中双击停止Vuser,这时将打开”编辑操作“对话框,显示停止Vuser操作,
选择第二个选项并输入以下值:每隔00:00:30(30秒)停止2个Vuser

思考时间和日志记录
1、打开运行时设置
在”设计“选项卡中,选择脚本并单击运行时设置按钮

通过运行时设置,可以模拟各种用户活动和行为,其中包括:
运行逻辑:用户重复一系列操作的次数
步:重复操作之前等待的时间
日志:希望在测试期间收集的信息的级别
如果时首次运行场景,建议生成日志消息,确保万一首次运行失败时间有调试信息
思考时间:用户在各步骤之间停下来思考的时间
由于用户是根据其经验水平和目标与应用程序交互,因此,技术上更加精通的用户工作速度可能会比新用户块,
通过启用思考时间,可使Vuser在负载测试期间更准确地模拟对应的真实用户
速度模拟:使用不同网络连接(例如调制解调器、DSL和电缆)的用户
浏览器模拟:使用不同浏览器查看应用程序性能的用户
内容检查:用于自动检测用户定义的错误
假设发生错误时应用程序发送了一个自定义页面,该自定义页面总是包含文字ASP Error,
你需要搜索服务器返回的所有页面,并查看是否出现文字ASP Error
你可以使用内容检查运行时设置,设置LoadRunner在测试运行期间自动查找这些文字,LoadRunner将搜索这些文字
并在检测到时生成错误,在场景运行期间,你可以识别内容检查错误
2、启用思考时间
选择常规:思考时间节点,选择重播思考时间,并选择使用录制思考时间的随机百分比选项,
指定最小值为50%,最大值为150%

使用录制思考时间的随机百分比模拟熟练程度不同的用户
3、启用日志记录
选择常规:日志节点,然后选择启用日志记录;在日志选项中,选择始终发送消息,
选择扩展日志,然后选择服务器返回的数据

注:初次调试运行后,建议不要对负载测试使用扩展日志
单击确定关闭“运行时设置”对话框
配置Windows资源监控器
1、选择Windows资源监控器
单击Controller窗口中的运行选项卡打开“运行”视图
Windows资源图是显示在图查看区域的四个默认图之一;在后面将介绍如何打开其它图

右键单击“Windows资源”图并选择添加度量

2、选择监控的服务器
在“Windows资源”对话框的监控的服务器计算机部分,单击添加

在名称框中,输入localhost(如果Load Generator正在另一台机器上运行,你可以输入
服务器名称或该计算机的IP地址)在平台框中输入计算机的运行平台,单击确定
默认的Windows资源度量列在<服务器>上的资源度量下

3、激活监控器
单击”windows资源“对话框中的确定以激活监控器
Controller”运行“视图一览
Controller窗口中的”运行“选项卡是用来管理和监控测试情况的控制中心,运行视图包含五个主要部分:
场景组窗格
场景状态窗格
可用图树
图查看区域
图例

场景组窗格:位于左上角的窗格,你可以在其中查看场景组内Vuser的状态;使用该窗格右侧的按钮可以启动、
停止和重置场景,查看各个Vuser的状态,通过收到添加更多Vuser场景运行期间应用程序的负载
场景状态窗格:位于右上角的窗格,你可以在其中查看负载测试的概要信息,
包括正在运行的Vuser数量和每个Vuser操作的状态
可用图树:位于中间偏左位置的窗格,你可以在其中看到一列LoadRunner图,
要打开图,请在树中选择一个图,并将其拖到图查看区域
图查看区域:位于中间偏右位置的窗格,你可以在其中自定义显示画面,查看1到8个图
图例:位于底部的窗格,你可以在其中查看所选图的数据
运行场景
1、打开Controller的运行视图
选择屏幕底部的运行选项卡
注意在”场景组“窗格的关闭列中有8个Vuser,这些Vuser是在创建场景时创建的

由于尚未运行场景,所有其它计数器均显示为零,并且图查看区域内的所有图(Windows资源除外)
都为空白
2、开始运行场景
单击开始场景按钮,或者选择场景>开始来运行测试
如果你是第一次运行测试,Controller将开始运行场景,结果文件将自动保存到Load Generator的临时目录下
如果你是重复测试,系统会提示你覆盖现有的结果文件,单击否,因为首次负载测试的结果应该作为基准结果,
用来与后面的负载测试结果进行比较,”设置结果目录“对话框打开

指定新的结果目录,为每个结果集输入一个唯一且有意义的名称,因为在分析图时你可能要将几次场景运行的结果重叠
监控信息
1、检查性能图
正在运行Vuser-整个场景图:显示在指定时间运行的Vuser数
事务响应时间-整个场景图:显示完成每个事务所用的时间
每秒点击次数-整个场景图:显示场景运行期间Vuser每秒向Web服务器提交的点击次数(HTTP请求数)
Windows资源图:显示场景运行期间评测的Windows资源

2、突出显示单个测量值
双击Windows资源图将其放大,注意每个测量值都显示在图例中用不同颜色标记的行中,
每行对应图中与之颜色相同的一条线
选中一行时,图中的相应线条将突出显示,反之则不突出显示,再次双击图将其缩小
3、查看吞吐量信息
选择可用图树中的吞吐量图,将其拖放到图查看区域,吞吐量图中的测量值显示在画面窗口和图例中
吞吐量图显示Vuser每秒从服务器接收的数据总量(以字节为单位),你可以将此图
与事务响应时间图比较,查看吞吐量对事物性能的影响
如果随着时间的推移和Vuser数目的增加,吞吐量不断增加,说明带宽够用,如果随着Vuser数目的增加,
吞吐量保持相对平稳,可以认为是带宽限制了数据流量

实时观察Vuser的运行情况
1、单击Vuser按钮,这时将打开Vuser窗口

状态列显示每个Vuser的状态,在上图中可以看到有四个正在运行的Vuser和四个已经关闭的Vuser计划程序中的
启动Vuser操作指示Controller每次释放两个Vuser,随着场景的运行,将继续每隔30秒向组中添加两个Vuser
2、从Vuser列表中选择一个正在运行的vuser
3、单击Vuser工具栏上的显示选定的Vuser按钮,将打开运行时查看器并显示所选Vuser当前执行的操作,
当Vuser执行录制的脚本中包含的各个步骤时,窗口将不断更新
4、单击Vuser工具栏上的隐藏选定的Vuser按钮,关闭运行时查看器日志
查看事件的文本概要信息
1、在Vuser窗口中选择一个正在运行的Vuser,单击显示Vuser日志按钮,打开Vuser日志窗口

日志中包含与Vuser操作对应的消息,在上面的窗口中,消息Virtual User Scipt started说明场景
已启动,滚动到日志底部,查看为所选Vuser执行的每个操作添加的新信息
2、关闭Vuser日志窗口和Vuser窗口
在测试期间增加负载
1、在运行视图中单击运行/停止Vuser按钮,运行/停止对话框打开,显示当前分配到场景中运行的Vuser数
2、在#列中,输入要添加到组中额外的Vuser的数目,要运行2个额外的Vuser,请将#列中的数字8替换为2
3、单击运行以添加Vuser
如果某些Vuser尚未初始化,将打开运行已初始化的Vser和运行新Vuser选项,选择运行新Vuser选项

这两个额外的Vuser被分配给travel_agent组且运行在localhost Load Generator上,
场景状态窗格显示现在有10个正在运行的Vuser
注:你可能会收到警告消息,指出LoadRunner Controller无法激活额外的Vuser,这是由于你用本地计算机作为
Load Generator并且该计算机的内存资源非常有限
应用程序在负载下的运行情况
1、查看测试状态
场景状态窗格显示场景的整体状况

2、查看Vuser操作的详细信息
单击场景状态窗格中通过的事务,查看事务的详细信息列表

查看应用程序是否发生错误
1、检查所有错误信息
选择视图>显示输出,或者单击场景状态窗格中的错误
输出对话框打开,列出消息文本、生成的信息总数、发生错误的Vuser和Load Generator以及发生错误的脚本

要查看消息的详细信息,请选择该消息并单击详细信息,将打开详细信息文本框,显示完整的消息文本
下图将显示超时错误,Web服务器没有在给定时间内响应请求

2、查看详细的日志信息
你可以单击相应列中的蓝色链接以查看与错误代码相关的每个信息、Vuser、脚本和Load Generator
例如,要确定脚本中发生的错误的位置,请向下搜索总数列中的详细信息,输出窗口显示所选错误代码
的所有消息列表,包括时间、迭代次数和脚本中发生错误的行

打开VuGen,显示脚本中发生错误的行,你可以使用这些信息找出相应速度比较慢的事务
它们导致应用程序在负载下运行失败
测试运行结束
测试运行结束时,场景状态窗格将显示关闭状态;这表示Vuser已停止运行,可以在Vuser对话框中看到
各个Vuser的状态;LoadRunner将显示Vuser重复任务(迭代)的次数、成功迭代的次数以及已用时间

场景的目标类型
在面向目标的场景中,LoadRunner提供五种不同类型的目标:场景实现的并发Vuser数、
每秒点击次数、每秒事务数、每分钟页面数或事物响应时间
如果知道可运行各种业务流程的Vuser总数,就可以使用Vuser目标类型
如果知道服务器的承载能力,就可以使用每秒点击次数、每分钟页数或每秒事务数目标类型
如果知道完成事务所需的响应时间,就可以使用事务响应时间目标类型;例如,如果你希望用户在五秒钟内就能登录
到你的电子商务网站,请将可接受的最长事务响应时间指定为五秒,并查看可以处理的实际Vuser数
创建面向目标场景
要使用各种用户档案文件模拟实际系统,可以将多个脚本分配给场景,并在这些脚本之间
分配负载百分比,应根据期望的负载设置百分比
1、创建新场景
选择文件>新建,或者单击新建打开新建场景对话框

2、选择场景类型
选择面向目标的场景
3、选择脚本
从可用脚本列表中选择basic_script,然后单击添加按钮,该脚本将显示在场景中的脚本窗格中
单击确定,将打开LoadRunner Controller的设计视图,在脚本名称列表中显示basic_script
Controller窗口(面向目标)的设计视图分为三个主要部分:

场景脚本窗格:在此窗格中,可以确定Vuser脚本、脚本路径、分配到每个
脚本的总目标百分比以及Load Generator,可以在此处配置场景
服务水平协议窗格:设计负载测试场景时,可以为性能指标定义目标值或服务水平协议(SLA)
运行场景时,LoadRunner收集并存储与性能相关的数据;分析运行情况时,Analysis将这些
数据与SLA进行比较,并为预先定义的测量指标确定SLA状态
场景目标窗格:位于下部的窗格,你可以在其中看到测试目标、达到该目标要使用的用户数、
场景持续时间和加压方式,可以使用编辑场景目标对话框设置目标
创建目标配置文件并定义场景目标
1、打开编辑场景目标对话框
单击编辑场景目标按钮,或选择场景>目标定义

2、为目标配置文件指定逻辑名称
单击新建,然后在新建目标配置文件对话框中输入新目标配置文件名,单击确定
选择器中将显示新目标配置文件名
3、定义场景目标
a 在目标类型框中,选择每秒点击次数
b 在达到目标每秒点击次数框中,输入3
c 设置LoadRunner要运行的Vuser数目范围
输入Vuser数目的最小值5和最大值10;它们必须要在服务器上同时生成
点击数的旅行社数目的最大值和最小值对应
定义负载测试行为
1、将测试配置为同时运行Vuser
在编辑场景目标对话框中选择加载行为选项卡,然后选择自动

这将指示Controller同时运行所需数目的Vuser
2、定义场景设置
在场景设置选项卡中,指定测试在达到目标后继续运行00:05:00(即5分钟)
并选择继续运行场景,无需达到目标

在负载达到每秒3次的点击次数之后,Controller再运行场景5分钟,并根据需要增加或减去一定数量的Vuser,
使实际测量值与既定目标的偏差不超过6%,这样可以确保服务器能在此负载下坚持一定的时间
3、不要使用录制的思考时间
在编辑场景目标对话框的左下角,确保不选中不更改录制思考时间
如果选择此选项,LoadRunner将使用脚本中录制的思考时间运行场景,
这样的话你可能需要通过增加场景中的Vuser数来达到目标
4、关闭编辑场景目标对话框
单击确定,关闭编辑场景目标对话框,场景目标窗口中将显示你输入的场景目标信息

5、为测试定义Load Generator
要使脚本能够运行,在场景中添加Load Generator
运行面向目标场景
1、打开Controller窗口中的运行选项卡
选择屏幕底部的运行选项卡
2、指定结果目录的名称
选择结果>结果设置,打开设置结果目录对话框,然后为结果集输入唯一的名称
3、开始场景
单击开始场景按钮,或者选择场景>开始
Controller将开始运行场景
你可以看到5个Vuser已经初始化并开始运行,同时LoadRunner尝试按照要求每秒生成3次点击
在测试期间,Controller将自动启动和停止Vuser以实现既定目标
4、查看练级图
每秒点击次数图显示在每次场景运行过程中Vuser每秒向Web服务器提交的点击次数
(HTTP请求数),你可以看到很快就达到了所需的负载级别

事务响应时间图会显示完成每个事务所花费的时间,观察事务响应时间以了解
服务器在负载下对客户的响应时间非常重要

你还可以通过在可用图树中选择吞吐量,并将其拖至图查看区域来查看吞吐量图,
该图显示Vuser每秒从Web服务器接收的数据

你可用监控服务器的Windows资源使用率以了解处理器、磁盘或内存利用率问题;
在测试期间进行监控可以帮助你立即定性能不佳的原因

你可以查看Windows资源图例中的测量值列表

最新文章

  1. [c++] Callable Objects
  2. struct结构体(剽窃别人的)
  3. python解释器快捷键
  4. 为cocos2d-x项目增加Lua支持
  5. 将P2P虚拟货币(比特币、莱特币....)的算力用于公共的分布式计算的猜想
  6. JS兼容性问题列表
  7. hdu 5091 Beam Cannon(扫描线段树)
  8. Java JVM里堆和栈的区别
  9. 【C/C++】实现牛顿迭代
  10. [BZOJ3339]Rmq Problem / mex
  11. VS2010环境下Winpcap配置方法 (转)
  12. JQuery登录代码
  13. StreamSets学习系列之StreamSets支持多种安装方式【Core Tarball、Cloudera Parcel 、Full Tarball 、Full RPM 、Docker Image和Source Code 】(图文详解)
  14. LeetCode题解之Contains Duplicate II
  15. BZOJ 4321 queue2
  16. 31、LinkedHashSet简介和练习
  17. VPP电源控制(VPP Power)-- 由DC-DC变换集成电路MC34063组成
  18. C/C++服务器开发的必备利器–libconfig
  19. Java实现文件自动打包成zip并下载的代码
  20. .Net C# 阿拉伯数字转为中文金额数字

热门文章

  1. python requests自动化框架
  2. shark恒破解笔记6-BC++假自效验
  3. [Luogu3065][USACO12DEC]第一!First!
  4. [Luogu3787] 冰精冻西瓜
  5. boost::thread_specific_ptr
  6. vue 详情跳转至列表页 实现列表页缓存
  7. 自然语言处理(NLP)
  8. Java根据参数返回相应类
  9. 基于STM32F103和Cube的输入捕获例程
  10. solr学习篇(三) solr7.4 连接MySQL数据库