admin管理员组

文章数量:1531505

2024年3月8日发(作者:)

第一章 Loadrunner11简介随着软件开发技术不断发展和日益成熟,现代应用程序也越来越困难。应用程序可以利用数十个甚至数百个组件完成以前用纸或人工完成的工作。在业务处理过程中,应用程序困难度与潜在故障点数目之间有干脆的关联。这使得找出问题根本缘由变得越来越困难。软件惊人的变更速度和激增的困难性为软件开发过程带来了巨大的风险。严格的性能测试是量化和削减这种风险最常见的策略。运用 HP LoadRunner 进行自动化负载测试是应用程序部署过程中一个特别重要的环。1.1为什么要实现性能自动化测试自动化性能测试是利用产品、人员和流程来降低应用程序、升级程序或补丁程序部署风险的一种手段。自动化性能测试的核心是向预部署系统施加工作负载,同时评估系统性能和最终用户体验。一次组织合理的性能测试可以让用户清晰以下几点:应用程序对目标用户的响应是否足够快速?应用程序是否能够游刃有余地处理预期用户负载?应用程序是否能够处理业务所需的事务数?在预期和非预期用户负载下应用程序是否稳定?是否能够确保用户在运用此应用程序时感到满足?通过回答这些问题,自动化性能测试可以量化业务状况的更改所带来的影响。这反过来也可以让用户清晰部署此应用程序的风险。有效的自动化性能测试可帮助您做出更加明智的发行确定,防止发行的应用程序带来系统停机和可用性问题。1.2 LoadRunner 包含哪些组件LoadRunner 包含以下组件:Virtual User Generator 录制最终用户业务流程并创建自动化性能测试脚本,即

Vuser 脚本。Controller 组织、驱动、管理并监控负载测试。Load Generator 通过运行 Vuser 产生负载。Analysis 用于查看、剖析和比较性能结果。Launcher 使您可以从单个访问点访问全部 LoadRunner 组件。1.3了解 LoadRunner 术语场景Vuse场景文件依据性能要求定义每次测试期间发生的事务。在场景中,LoadRunner 用虚拟用户(Vuser)代替真好用户。Vuser 仿照真用户的操作来运用应用系统。一个场景可以包含数十、数百乃至数千个

Vuser。Vuser 脚本描述 Vuser 在场景中执行的操作。脚本

事物要评测服务器性能,须要定义事务。事务代表要评测的终端用户业务流程。1.4什么是负载测试流程负载测试一般包括五个阶段:规划,创建脚本,定义场景,执行场景,分析结果。规划负载测试:定义性能测试要求例如并发用户数量,典型业务流程和要求的响应时间。创建Vuser1脚本:在自动化脚本中录制最终用户活动。定义场景:运用Loadrunner11 Controller 设置负载测试环境。运行场景:运用Loadrunner11 Controller驱动,管理并监控负载测试。分析结果:运用Loadrunner11 Analysis创建图和报告并评估性能。1.5熟识 HP Web Tours1:启动Hp Web Tours 示例 起先 -> 程序 -> Hp Loadrunner -> samples -> Web -> start web server ->

Hp Web Tours Application (或者在阅读器中输入: ://127.0.0.1:1080/WebTours/) 进入示例的主页面2:启动web server 服务后,在阅读器中输入: ://127.0.0.1:1080/ 进入的是loadrunner11的主页面3:在示例主页面的左窗格中输入用户名和密码,点击登录 Username:jojo Password:bean

4:预定机票(flights),在 Credit Card (信用卡)框中输入 12345678,并在 Exp Date (到期日)框中输入 06/10。单击 Continue (接着)。这时将打开 Invoice (发票)页面,显示您的发票。5:suspend-延迟,推辞 Terminate-使结束6:退出web server ,在任务栏上打开,单击Terminate。

其次章 Loadrunner的功能2.1创建负载测试Controller 是中心限制台,用来创建、管理和监控您的测试。您可以运用 Controller来运行模拟实际用户操作的示例脚本,并通过让肯定数量的 Vuser 同时执行这些操作,在系统上产生负载。

1.打开HP Loadrunner11窗口选择起先>程序>HP Loadrunner11>Loadrunner11,这时将打开Loadrunner11.00的窗口,如下图所示:

2.打开Controller

在Loadrunner11Launcher窗格中单击Run Load Tests(运行负载测试),默认状况下,Loadrunner11 Controller打开时将显示‘新建场景’对话框。

单击取消。Scenarios---场景3.打开示例测试在Controller菜单中打开,选择文件---打开,然后打开Loadrunner安装位置tutorial书目中的demo_。将打开 LoadRunner Controller 的“设计”选项卡, demo_script 测试将出现在“场

景组”窗格中。您可以看到已经安排了 10 个 Vuser 来运行此测试。

第五章 解决常见回放问题创建脚本后,通过在 VuGen 中运行该脚原来对其进行验证。有时虽然操作录制胜利,但简洁的回放却会失败。很多应用程序都运用动态值,每次运用应用程序时这些值都会变更。例如,有些服务器会为每个新会话安排一个唯一的会话 ID。回放录制的会话时,应用程序创建的新会话 ID 与录制的会话 ID 不同。LoadRunner 通过关联解决了这种问题。关联将动态值(在本例中为会话 ID)保存到参数中。运行模拟场景时, Vuser 并不运用录制的值,而是运用服务器安排的新会话 ID。

5.1设置 HP Web Tours让其出现回放错误要演示常见的回放错误,您须要修改 HP Web Tours 应用程序中的设置。此设置告知

HP Web Tours Web 服务器不允许出现重复的会话 ID。1 打开 HP Web Tours选择起先 > 程序 > HP LoadRunner > Samples > Web > HP Web Tours 应用程序。阅读器将打开 HP Web Tours 的主页。2 更改服务器选项a 单击 HP Web Tours 主页上的 administration (管理)链接。将打开administration

(管理)页面。b 选择具有以下标题的复选框:Set LOGIN form's action tag to an error page.(将

LOGIN 表单的操作标记设置为错误页面。)向下滚动到页面底部并单击Update

(更新)。c 向下滚动到页面底部并单击 Return to the Web Tours Homepage (返回到Web Tours

主页)链接。此设置告知服务器不允许出现重复的会话 ID。3 关闭阅读器5.2如何运用唯一的服务器的值在修改后的 HP Web Tours 配置中,服务器为 Vuser 安排一个唯一的会话 ID。现在假如回放脚本,将会失败。为解决此问题,请运用 VuGen 自动检测是否须要关联会话 ID。运行脚本后,VuGen会提示您扫描脚本,查看须要关联的地方。您可以让 VuGen 插入将原始会话 ID 保存到参数中这一步。在每个回放会话中,VuGen 都会将新的唯一会话 ID

保存到参数中。在后面的步骤中, VuGen 运用保存的值而不是原来录制的值。

1

运用动态值录制新脚本依据前面第 3 课第 29 页的“如何录制业务流程来创建脚本?”中的录制步骤录制新脚本,并将新脚本保存为 basic_tutorial_Cor。2 回放新脚本在“任务”窗格中单击验证回放,然后单击说明窗格底部的起先回放按钮。VuGen将运行新脚本。您会看到输出窗口的回放日志选项卡中有几条显示为红色的错误消息。3 查看回放摘要

在“任务”窗格中单击验证回放以查看“上次回放概要”。4 扫描脚本以查找须要关联的地方单击说明窗格中标题“动态服务器值”下的链接显示并解析动态服务器值。VuGen 将扫描脚本,搜寻录制值与回放值之间的不同。VuGen 将在输出窗口的“关联结果”选项卡中显示一列可能须要关联的差异。

5

关联会话 ID选择“关联结果”选项卡中的第一个条目,单击关联。VuGen 将在脚本的顶部插入新步骤,将原始会话 ID 保存到参数中。在每个回放会话中, VuGen 都会将新的唯一会话

ID 保存到参数中。在后面的步骤中, VuGen 运用保存的值而不是原来录制的值。选择视图 > 树视图,在测试树中查看此新步骤。

6

检查关联语句的语法选择视图 > 脚本视图,查看脚本中的关联语句。VuGen 添加到脚本中的语句如下:该语句的意思是检查以下两个字符串之间数据的服务器响应:➤

左边界:userSession value=➤

右边界:>该语句指示 VuGen 将首次出现的此数据保存到参数 WCSParam_Diff1 中。1

再次回放该脚本选择 Vuser > 运行,再次回放该脚本。回放结束后,选择视图 > 树视图。在“回放日志”选项卡中查看。您会留意到 VuGen 不再发出用红色标识的错误消息。右键单击脚本中的 Service: Reg Save Param 并选择转至回放日志中的步骤。VuGen 将光标放到回放日志中对应的行上。日志表明函数 web_reg_save_param已胜利,这说明关联已生效。

2

修正服务器配置重置服务器,忽视唯一的会话 ID。选择起先 > 程序 > HP LoadRunner > Samples >

Web > HP Web Tours 应用程序,打开 HP Web Tours。在 HP Web Tours 主页上单击

administration (管理)链接。在 administration (管理)页面上取消选择第三个复选框,其标题为:SetLOGIN form's action tag to an error page. (将 LOGIN 表单的操作标记设置为错误页面。)向下滚动到页面底部并单击 Update (更新)。关闭阅读器。3 自动关联在这一课,您在录制用户操作以后扫描了脚本以查看须要关联的地方。VuGen 还供应了一组可配置的关联规则,用于在录制会话期间处理动态值。有关自动关联的具体信息,请参阅《HP Virtual User Generator 用户指南》。大多数服务器都有明确的语法规则(或称上下文),在创建链接和引用时运用。假如运用支持的应用程序服务器录制会话,您可以运用

VuGen 的内置关联规则,VuGen 将在录制期间检测并关联动态值。第六章 为负载打算测试脚本在前面的课程中,已阅历证了脚本是应用程序的精确模拟。您实时观看了脚本的回放并验证了 Vuser 执行的是典型业务流程。但这只适用于单个用户的模拟状况。当多个用户同时运用应用程序时,该应用程序是否仍可以运行?假如可以,应用程序的性能是否会下降到不行接受的程度?接下来我们将为负载测试打算脚本,并设置该脚本以收集响应时间数据。在这一章,您将了解用于增加脚本,以便更有效地进行负载测试流程的不同方法。6.1如何评测业务流程在打算部署应用程序时,您须要估计具体业务流程的持续时间:登录、预订机票等要花费多少时间。这些业务流程通常由脚本中的一个或多个步骤或操作组成。在 LoadRunner

中,通过将一系列操作标记为事务,可以将它们指定为要评测的操作。LoadRunner 收集关于事务执行时间长度的信息,并将结果显示在用不同颜色标识的图和报告中。您可以通过这些信息了解应用程序是否符合最初的要求。可以在脚本中的随意位置手动插入事务。将用户步骤标记为事务的方法是在事务的第一个步骤前面放置一个起先事务标记,并在最终一个步骤后面放置一个结束事务标记。在这一节,您将在脚本中插入一个事务来计算用户查找和确认航班所花费的时间。打开在第 3 课中创建的脚本 Basic_Tutorial。假如此脚本已经打开,可以选择显示其名称的选项卡。或者可以从“文件”菜单中打开该脚本。

(1)插入事务1.打开事务创建向导确保出现“任务”窗格。假如未出现,请单击任务按钮。在“任务”窗格的增加功能下单击事务。单击新建事务。将打开事务创建向导。

事务创建向导显示脚本中不同步骤的缩略图。单击新建事务按钮。现在您可以将事务标记拖放到脚本中的指定位置。向导会提示您插入事务的起始点。2.插入事务起先标记和事务结束的标记运用鼠标将事务开括号拖到名为 Search flights button 的第三个缩略图前面并单击将其放下。向导现在将提示您插入结束点。运用鼠标将事务闭括号拖到名为 _2 的第五个缩略图后面并单击将其放下。3.指定事务名称向导会提示您输入事务名称。输入 find_confirm_flight 并按 Enter (回车)键。

现在已创建了一个新事务。可以通过将标记拖到脚本中的不同位置来调整事务的起始点或结束点。通过单击事务起始标记上方的现出名称并输入新名称,还可以重命名事务。4.在树视图中视察事务6.2如何模拟多个用户在模拟场景中,跟踪一位预订机票并选择靠近过道座位的用户。但在实际生活中,不同的用户会有不同的喜好习惯。要改进测试,须要检查当用户选择不同的座位首选项(靠近过道、靠窗或无)时,是否可以正常预订。为此须要对脚本进行参数化。这意味着您要将录制的值 Aisle 替换为一个参数。将参数值放在参数文件中。运行脚本时,Vuser 从参数文件中取值(aisle、window或 none),从而模拟真实的旅行社环境。

参数化脚本找到更改数据的部分 视图---树视图,在测试树中双击 Submit Data: 步骤。将打开“提交数据步骤属性”对话框。将常量值更改为变量值选择第七行中的 seatPref。单击 Aisle 旁边的 ABC 图标。打开“选择或创建参数”对话框。

在参数名编辑字段中,输入 seat。接受 File 参数类型。单击确定。VuGen 将用参数图标替换 ABC 图标单击 {seat} 旁边的参数图标并选择参数属性。将打开“参数属性”对话框指定示例值来更改数据单击添加行-Add Row,用Window替换Value值,不区分大小写。单击添加行- Add Row,用None替换Value值,不区分大小写。

定义测试更改数据的方式。接受默认设置,让 VuGen 为每次迭代取依次值而不是随机值。➤

选择下一行:依次➤

值更新时间:每次迭代单击关闭以关闭“参数属性”对话框,然后单击确定关闭“步骤属性”对话框。现在已为座位首选项创建了参数。运行负载测试时, Vuser 将运用参数值,而不是录制的值

Aisle。运行脚本时,回放日志会显示每次迭代发生的参数替换。请留意:第一次迭代时Vuser 选择 Aisle,其次次迭代时选择 Window。

6.3如何验证Web页面内容运行测试时,常常须要验证某些内容是否出现在返回的页面上。内容检查验证脚本运行时 Web 页面上是否出现期望的信息。可以插入两种类型的内容检查:

文本检查。检查文本字符串是否出现在 Web 页面上。图像检查。检查图像是否出现在 Web 页面上。文本检查以检查 Find Flight 是否出现在脚本中的订票页面上为例,添加文本检查。1.打开文本检查向导确保出现“任务”窗格,假如未出现,请单击任务按钮Task,在任务窗格的增加功能下点击内容检查。内容检查向导打开,显示脚本中每个步骤的缩略图。2.选择工具栏上的HTML视图以显示缩略图的快照。

3.选择包含待检查文本的页面,单击名为 的第四个缩略图4.选择要检查的文本,突出显示快照内的文字,FindFlight(查找航班),然后右键单击并选择添加文本检查---Web-Reg-Find,打开查找文本对话框,显示在查找选定内容框中选定的文本,单击确定。5.查看新步骤在树视图(视图 > 树视图)中,您会看到 VuGen 在脚本中插入了一个新步骤Service:

Reg Find。这一步注册文本检查, LoadRunner 将在运行步骤后检查文本。回放期间,

VuGen 将查找文本 Find Flight 并在回放日志中指出是否找到。

6.4如何生成调试信息在测试运行的某些时候,常常须要向输出设备发送消息,指出当前位置和其他信息。这些输出消息会出现在回放日志和 Controller 的输出窗口中。可以发送标准输出消息或指动身生错误的消息。要确定是否发出错误消息,建议先查找失败状态。假如状态为失败,就让

VuGen发出错误消息。请参阅《HP LoadRunner Online Function Reference》中的示例。

下面以VuGen 在应用程序完成一次完整的预订后插入一条输出消息。插入输出消息1.选择一个位置,在树视图中选择最终一个步骤,Image:Sign Off Button,将在右边打开快照。2.插入一条输出信息,选择插入----新建步骤(Insert---New Step),打开添加步骤对话框,向下滚动并选择输出信息,然后单击确定。在形成的缩略图上单击可以修改缩略图的名称。

3.输入消息信息,在消息文本框中输入The Flight Was Booked。4.点击工具栏上的保存按钮,保存脚本信息。备注:要插入错误消息,可重复上述步骤,不同之处在于要在“添加步骤”对话框中选择错误消息而不是输出消息。

6.5测试是否胜利在这一节,将运行增加的脚本并查看回放日志来检查文本和图像。您将查看文本和图像检查、事务以及参数化。默认状况下,由于图像检查须要占用更多内存,在回放期间会将其禁用。假如要执行图像检查,须要在运行时设置中启用此项检查。

1.启用图像检查打开“运行时设置”对话框(菜单:Vuser --- 运行时设置),并选择 Internet 协议:ContentCheck,选择启用图像和文本检查。单击确定关闭“运行时设置”对话框。2.运行脚本单击运行或选择 Vuser > 运行。VuGen 将起先运行脚本,同时在输出窗口中创建回放日志。等待脚本完成运行。备注:假如此时Hp Web Tours的服务没有起先,回放脚本或者说是运行脚本就是失败的,就是说被录制的脚本的哪个系统是可以正常访问的。

3.查找文本检查确保已打开输出窗口(视图 > 输出窗口)。在“回放日志”选项卡中,按CTRL+F 打开“查找”对话框。查找 web_reg_find。第一个实例如下:这不是实际的文本检查,而是让 VuGen 打算好在表单提交后检查文本。再次查找(按 F3) web_reg_find 的下一个实例。该实例如下所示:这说明文本已找到。假如有人更改了 Web 页面并删除了文字 Find Flight,那么在后续的运行中,输出消息会指出找不到这些文字。4.查找事务的起始点在“回放日志”选项卡中,按 CTRL+F 打开“查找”对话框。搜寻单词Transaction。该通知用蓝色显示。5.查看参数替换在“回放日志”选项卡中,按 CTRL+F 打开“查找”对话框。搜寻单词Parameter。日志包含通知“seat” = “Aisle”。再次搜寻(按 F3)下一处替换。留意 VuGen 在每次迭代时如何替换不同的值。

6.选择文件 > 保存或单击保存按钮

第七章 创建负载测试场景7.1Loadrunner11 Controller简介负载测试是指在典型工作条件下测试应用程序,例如,多家旅行社同时在同一个机票预订系统中预订机票。您须要设计测试来模拟真实状况。为此,您要能够在应用程序上生成较重负载,并支配向系统施加负载的时间(因为用户不会正好同时登录或退出系统)。您还须要模拟不同类型的用户活动和行为。例如,一些用户可能运用 Netscape (而不是Internet Explorer)来查看应用程序的性能,并且可能运用不同的网络连接(例如调制解调器、DSL 或电缆)。您可以在场景中创建并保存这些设置。Controller 供应全部用于创建和运行测试的工具,帮助您精确模拟工作环境。场景目标这一章的目标是创建一个场景,模拟 10 家旅行社同时登录、搜寻航班、购买机票、查看航班路途并退出。7.2如何启动Loadrunner11 Controller1.打开HP Loadrunner11选择起先 > 程序 > HP LoadRunner11 > LoadRunner11。这时将打开 HP

LoadRunner11.00 窗口。2.打开Controller窗口在LoadRunner11 Launcher 窗格中单击运行负载测试—RunLoadTests。将打开 HP

LoadRunner11Controller。默认状况下 Controller 打开时会显示“新建场景”对话框。

3.选择场景类型➤ 通过手动场景可以限制正在运行的 Vuser 数目及其运行时间,另外还可以测试出应用程序可以同时运行的 Vuser 数目。您可以运用百分比模式,依据业务分析员指定的百分比在脚本间安排全部的 Vuser。安装后首次启动 LoadRunner 时,默认选中百分比模式复选框。假如已选中该复选框,请取消选中。➤ 面对目标的场景用来确定系统是否可以达到特定的目标。例如,您可以依据指定的事务响应时间或每秒点击数/事务数确定目标,然后 LoadRunner 会依据这些目标自动创建场景。您将在第九章“面对目标的高级场景”中创建面对目标的场景。此处选择手动场景。4.向负载测试添加脚本在本教程中,将仅运用一个 Vuser 脚原来模拟一组执行相同操作的用户。要模拟具有更多种用户配置文件的真实场景,须要创建不同的组,运行带有不同用户设置的多个脚本。从前在 VuGen 中录制的脚本包含要测试的业务流程。其中包括登录、搜寻航班、购买机票、查看航班路途以及注销。您将向场景中添加类似的脚本,配置场景,模拟

8 家旅行社同时在机票预订系统中执行这些操作。测试期间将添加另外两个用户。为此我们供应了一个与您创建的脚本相类似的脚本。建议您运用这个示例脚本。单击阅读按钮找到 Tutorial 书目中的 basic_script。此脚本显示在可用脚本部分和场景中的脚本部分。单击确定。LoadRunner Controller 将在“设计”选项卡中打开您的场景。

7.3Controller窗口一览Controller 窗口的设计选项卡分为三个主要部分:➤

“场景组”窗格➤

“服务水平协议”窗格➤

“场景支配”窗格➤ “场景组”窗格。在“场景组”窗格中配置 Vuser 组。您可以创建代表系统中典型用户的不同组,指定运行的 Vuser 数目以及运行时运用的计算机。➤ “服务水平协议”窗格。设计负载测试场景时,可以为性能指标定义目标值或服务水平协议 (SLA)。运行场景时, LoadRunner 收集并存储与性能相关的数据。分析运行状况时, Analysis 将这些数据与 SLA 进行比较,并为预先定义的测量指标确定 SLA

状态。您将在第十章中进一步了解 SLA。➤ “场景支配”窗格。在“场景支配”窗格中,设置加压方式以精确模拟真好用户行为。可以依据运行 Vuser 的计算机、将负载施加到应用程序的频率、负载测试持续时间以及负载停止方式来定义操作。

7.4如何修改脚本具体信息1. 确保basic_script出现在“场景组”组名称列中。2.更改组名称选择脚本并单击具体信息按钮,将打开组信息对话框。在组名称中输入一个更有意义的名称:travel _vagent7.5如何生成重负载添加脚本后,可以配置生成负载的计算机。Load Generator 是通过运行 Vuser 在应用程序中生成负载的计算机。可以运用多个Load Generator,并在每个 Load Generator 上运行多个 Vuser。在这一节,主要讲如何向场景添加 Load Generator,以及如何测试 Load

Generator 连接。

1.添加Load Generater在设计选项卡中,添加Load Generator 按钮,将打开Load Generator对话框,显示名称为localhost的load generator的具体信息

在本教程中,你将运用本地计算机作为 Load Generator (默认状况下包括在场景中)。localhost Load Generator 的状态为关闭。这说明 Controller 未连接到 LoadGenerator。注:在典型的生产系统中,您将有若干个 Load Generator,每一个拥有多个 Vuser。2.测试Load Generator运行场景时, Controller 自动连接到 Load Generator。但您也可以在运行场景之前测试连接。选择 localhost 并单击连接。Controller 会尝试连接到 Load Generator 计算机。建立连接后,状态会从关闭变为就绪。单击关闭。7.6如何模拟真实加压方式添加 Load Generator 后,就可以配置加压方式。典型用户不会正好同时登录和退出系统。LoadRunner 允许用户渐渐登录和退出系统。它还允许您确定场景持续时间和场景停止方式。下面将要配置的场景相对比较简洁。但在设计更精确地反映现实状况的场景时,您可以定义更真实的 Vuser活动。您可以在 Controller 窗口的场景支配窗格中为手动场景配置加载行为。“场景支配”窗格分为三部分:支配定义区域、操作单元格和交互支配图。现在您可以更改默认负载设置并配置场景支配。

1.选择支配类型和运行模式在支配定义区域,确保选中支配方式的场景和运行模式的实际支配。2.设置支配操作定义可以再单元格或者交互支配图中为场景支配设置启动Vuser,持续时间以及停止Vuser操作,在图中设置定义后,操作单元格中的属性会自动调整。现在设置,使操作单元格的数据如下显示

A:设置Vuser的初始化初始化是指通过运行脚本中的 vuser_init 操作,为负载测试打算 Vuser LoadGenerator。在 Vuser 起先运行之前对其进行初始化可以削减 CPU 占用量,并有利于供应更加真实的结果。在“操作”单元格中双击初始化。这时将打开“编辑操作”对话框,显示初始化操作。选择同时初始化全部 Vuser。

B:指定渐渐起先(从“支配操作”单元格)。通过依据肯定的间隔启动 Vuser,可以让 Vuser 对应用程序施加的负载在测试过程中渐渐增加,帮助您精确找出系统响应时间起先变长的转折点。在“操作”单元格中双击启动

Vuser。这时将打开“编辑操作”对话框,显示启动 Vuser 操作。在起先 X 个 Vuser

框中,输入 8 个 Vuser 并选择其次个选项:每 00:00:30(30 秒)启动 2 个 Vuser。

C:支配持续时间您可以指定持续时间,确保 Vuser 在特定的时间段内持续执行支配的操作,以便评测服务器上的持续负载。假如设置了持续时间,脚本会运行这段时间内所需的迭代次数,而不考虑脚本的运行时设置中所设置的迭代次数。通过单击交互支配图工具栏中的编辑模式按钮确保交互支配图处于编辑模式。D:支配渐渐关闭建议渐渐停止 Vuser,以帮助在应用程序到达阈值后,检测内存漏洞并检查系统复原状况。在“操作”单元格中双击停止 Vuser。这时将打开“编辑操作”对话框,显示停止

Vuser 操作。选择其次个选项并输入以下值:每隔 00:00:30 (30 秒)停止 2 个 Vuser。

7.7如何模拟不同类型的用户现在已配置好负载支配,接下来须要指定 Vuser 在测试期间的行为方式。模拟真好用户时,须要考虑用户的实际行为。行为是指用户在操作之间暂停的时间、用户重复同一操作的次数,等等。在这一章节中,您将进一步了解 LoadRunner 的运行时设置,并启用思索时间和日志记录。1.打开运行时设置在设计选项卡中,选择脚本并单击运行时设置按钮,这时将显示运行时设置通过运行时设置,可以模拟各种用户活动和行为。其中包括:➤

运行逻辑。用户重复一系列操作的次数。➤

步。重复操作之前等待的时间。➤

日志。希望在测试期间收集的信息的级别。假如是首次运行场景,建议生成日志消息,确保万一首次运行失败时有调试信息。➤

思索时间。用户在各步骤之间停下来思索的时间。由于用户是依据其阅历水平和目标与应用程序交互,因此,技术上更加精通的用户工作速度可能会比新用户快。通过启用思索时间,可使 Vuser 在负载测试期间更精确地模拟对应的真好用户。➤

速度模拟。运用不同网络连接(例如调制解调器、DSL 和电缆)的用户。➤

阅读器模拟。运用不同阅读器查看应用程序性能的用户。➤

内容检查。用于自动检测用户定义的错误。假设发生错误时应用程序发送了一个自定义页面。该自定义页面总是包含文字ASP Error。您须要搜寻服务器返回的全部页面,并查看是否出现文字 ASPError您可以运用内容检查运行时设置,设置 LoadRunner 在测试运行期间自动查找这些文字。LoadRunner 将搜寻这些文字并在检测到时生成错误。在场景运行期间,您可以识别内容检查错误。

2.启用思索时间选择常规:思索时间节点。选择重播思索时间,并选择运用录制思索时间的随机百分比选项。指定最小值为 50%,最大值为 150%。运用录制思索时间的随机百分比模拟娴熟程度不同的用户。例如,假如选择航班的录制思索时间是 4 秒,则随机时间可以是 2 - 6 秒之间的随意值(4 的 50% 至150%)。3.启用日志记录选择常规:日志节点,然后选择启用日志记录。在日志选项中,选择始终发送消息。选择扩展日志,然后选择服务器返回的数据。注:初次调试运行后,建议不要对负载测试运用扩展日志记录。在本教程中启用它只是为了供应 Vuser 输出日志信息。4. 单击确定关闭‘运行时设置’对话框。

7.8如何监控负载下的系统现在已经定义了 Vuser 在测试期间的行为方式,接下来就可以设置监控器了。在应用程序中生成重负载时,您希望实时了解应用程序的性能以及潜在的瓶颈。运用 LoadRunner

的一套集成监控器可以评测负载测试期间系统每一层的性能以及服务器和组件的性能LoadRunner 包含多种后端系统主要组件(如 Web、应用程序、数据库和 ERP/CRM 服务器)的监控器。例如,您可以依据正在运行的 Web 服务器类型选择 Web 服务器资源监控器。还可以为相关的监控器购买许可证,例如 IIS,然后运用该监控器精确指出 IIS 资源中反映的问题。在这一节,您将学习如何添加和配置 Windows 资源监控器。您可以运用该监控器确定负载对 CPU、磁盘和内存资源的影响。1.选择windows资源监控器单击 Controller 窗口中的运行选项卡打开“运行”视图。Windows 资源图是显示在图查看区域的四个默认图之一。在下一课您将学习如何打开其它图。

2.右键单击“Windows 资源”图并选择添加度量-Add ##。“Windows 资源”对话框打开3.选择监控的服务器在“Windows 资源”对话框的监控的服务器计算机部分,单击添加。“添加计算机”对话框打开。在名称框中,输入 localhost。(假如 Load Generator 正在另一台机器上运行,您可以输入服务器名称或该计算机的 IP 地址。)在平台框中输入计算机的运行平台。单击确定。默认的 Windows 资源度量列在 <服务器> 上的资源度量下。

4.激活监控器单击windows资源对话框的确定已激活。

第八章 运行负载测试运行测试时, LoadRunner 会对应用程序施加负载。然后您可以运用 LoadRunner的监控器和图来视察真实条件下应用程序的性能。

8.1Controller运行视图一览Controller 窗口中的“运行”选项卡是用来管理和监控测试状况的限制中心。“运行”视图包含五个主要部分:➤

“场景组”窗格

“场景状态”窗格➤

可用图树

图查看区域

图例➤

“场景组”窗格。位于左上角的窗格,您可以在其中查看场景组内 Vuser 的状态。运用该窗格右侧的按钮可以启动、停止和重置场景,查看各个 Vuser 的状态,通过手动添加更多

Vuser 增加场景运行期间应用程序的负载。➤

“场景状态”窗格。位于右上角的窗格,您可以在其中查看负载测试的概要信息,包括正在运行的 Vuser 数量和每个 Vuser 操作的状态。➤

可用图树。位于中间偏左位置的窗格,您可以在其中看到一列 LoadRunner 图。要打开图,请在树中选择一个图,并将其拖到图查看区域。➤

图查看区域。位于中间偏右位置的窗格,您可以在其中自定义显示画面,查看1 到 8 个图(视图 > 查看图)。图例。位于底部的窗格,您可以在其中查看所选图的数据。➤

8.2如何运行负载测试场景1. 打开 Controller 的“运行”视图。选择屏幕底部的运行选项卡。留意在“场景组”窗格的关闭列中有 8 个 Vuser。这些

Vuser 是在创建场景时创建的。

由于尚未运行场景,全部其他计数器均显示为零,并且图查看区域内的全部图(Windows

资源除外)都为空白。在下一步起先运行场景之后,图和计数器将起先显示信息。3.起先场景单击起先场景按钮,或者选择场景---起先,以起先运行测试。假如您是第一次运行测试, Controller 将起先运行场景。结果文件将自动保存到Load

Generator 的临时书目下。假如您是重复测试,系统会提示您覆盖现有的结果文件。单击否,因为首次负载测试的结果应当作为基准结果,用来与后面的负载测试结果进行比较。“设置结果书目”对话框打开。指定新的结果书目。为每个结果集输入一个唯一且有意义的名称,因为在分析图时您可能要将几次场景运行的结果重叠。8.3如何监控负载下的应用程序1. 检查性能图“运行”选项卡显示下列默认的联机图:➤

“正在运行 Vuser - 整个场景”图。显示在指定时间运行的 Vuser 数。➤

“事务响应时间 - 整个场景”图。显示完成每个事务所用的时间。➤

“每秒点击次数 - 整个场景”图。显示场景运行期间 Vuser 每秒向 Web 服务器提交的点击次数( 恳求数)。

“Windows 资源”图。显示场景运行期间评测的 Windows 资源。3.突出显示单个测量值双击“Windows 资源”图将其放大。留意每个测量值都显示在图例中用不同颜色标记的行中。每行对应图中与之颜色相同的一条线。选中一行时,图中的相应线条将突出显示,反之则不突出显示。再次双击图将其缩小。

4.查看吞吐量信息选择可用图树中的吞吐量图,将其拖放到图查看区域。“吞吐量”图中的测量值显示在画面窗口和图例中。“吞吐量”图显示 Vuser 每秒从服务器接收的数据总量(以字节为单位)。您可以将此图与“事务响应时间”图比较,查看吞吐量对事务性能的影响。假如随着时间的推移和 Vuser 数目的增加,吞吐量不断增加,说明带宽够用。假如随着

Vuser 数目的增加,吞吐量保持相对平稳,可以认为是带宽限制了数据流量。8.4如何实时视察Vuser运行状况模拟用户时,您应当能够实时查看用户的操作,确保它们执行正确的步骤。通过Controller,您可以运用运行时查看器实时查看操作。要直观地查看 Vuser 的操作,请执行以下操作:1.单击Vuser按钮---三个小人,这时将打开Vuser窗口

备注:假如没有将教程安装在默认 LoadRunner 安装书目下,脚本路径会出错(脚本路径将显示为红色)。要输入正确的路径,请选择脚本并单击向下箭头。单击阅读按钮并转至

tutorial 书目中的 demo_script,然后单击确定。2.2运行负载测试在图中,运行选项卡中,点击起先场景按钮,将出现Controller运行视图,Controller起先运行场景。在场景组窗格中,可以看到Vuser渐渐起先运行并在系统中生成负载,您可以通过联机图像看到服务器对Vuser操作的响应状况。

图2.3监控负载测试在应用程序中生成负载时,您希望实时了解应用程序的性能以及潜在的瓶颈,运用LoadRunner 的一套集成监控器可以评测负载测试期间系统每一层的性能以及服务器和组件的性能。LoadRunner 包含多种后端系统主要组件(如 Web、应用程序、网络、数据库和

ERP/CRM 服务器)的监控器。1.查看默认图像在图中,默认状况下Controller 显示“正在运行 Vuser”图、“事务响应时间”图、“每秒点击次数”图和“Windows 资源”图。前三个不须要配置。已经配置好Windows 资源

监控器来进行这次测试。

正在运行Vuser-整个场景,通过此图可以监控在给定的时间内运行的Vuser数目,你可以看到Vuser以每分钟2个速度渐渐起先运行。事务响应时间-整个场景,通过此图可以监控完成每个事务所用的时间,您可以看到客户登录,搜寻航班,购买机票,查看线路,和注销所用的时间。另外还可以看到,随着越来越多的 Vuser 登录到被测试的应用程序进行工作,事务响应时间渐渐延长,供应应客户的服务水平也越来越低。每秒点击次数 - 整个场景。通过此图可以监控场景运行期间 Vuser 每秒向 Web服务器提交的点击次数( 恳求数)。这样您就可以了解服务器中生成的负载量。Windows 资源。通过此图可以监控场景运行期间评测的 Windows 资源运用状况(例如, CPU、磁盘或内存的利用率)。在第 7 课“创建负载测试场景”中您将学习如何配置 Windows 资源和其他监控器。提示:每个测量值都显示在窗口底部的图例部分以不同颜色标记的行中。每行对应图中与之颜色相同的一条线。选中一行时,图中的相应线条将突出显示,反之亦然。

状态列显示每个 Vuser 的状态。在上例中,可以看到有四个正在运行的 Vuser 和四个已经关闭的 Vuser。支配程序中的启动 Vuser 操作指示 Controller 每次释放两个

Vuser。随着场景的运行,将接着每隔 30 秒向组中添加两个 Vuser。

2.从Vuser中选择一个正在运行的Vuser3.单击 Vuser 工具栏上的显示选定的 Vuser 按钮。将打开运行时查看器并显示所选Vuser 当前执行的操作。当 Vuser 执行录制的脚本中所包含的各个步骤时,窗口将不断更新。4.单击 Vuser 工具栏上的隐藏选定的 Vuser 按钮,关闭“运行时查看器”日志。

8.5在何处查看用户操作的概要信息对于正在运行的测试,要检查测试期间各个 Vuser 的进度,可以查看包含 Vuser操作文本概要信息的日志文件。1.在 Vuser 窗口中选择一个正在运行的 Vuser,单击显示 Vuser 日志按钮。Vuser 日志窗口打开。8.6如何在测试期间增加负载日志中包含与 Vuser 操作对应的消息。例如,在上面的窗口中,消息 Virtual

UserScript started 说明场景已启动。滚动到日志底部,查看为所选 Vuser 执行的每个操作添加的新消息。2. 关闭 Vuser 日志窗口和 Vuser 窗口。

8.7如何在测试期间增加负载可以通过手动添加更多 Vuser 在运行负载测试期间增加应用程序的负载。1.在运行视图中,单击运行/停止Vuser按钮,运行/停止对话框打开,显示当前安排到场景中运行的Vuser数2.在 # 列中,输入要添加到组中额外的 Vuser 的数目。要运行 2 个额外的 Vuser,请将

# 列中的数字 8 替换为 2。3.单击运行以添加Vuser假如某些 Vuser 尚未初始化,将打开运行已初始化的 Vuser 和运行新 Vuser 选项。选择运行新 Vuser 选项。这两个额外的 Vuser 被安排给 travel_agent 组且运行在 localhost Load Generator上。“场景状态”窗格显示现在有 10 个正在运行的 Vuser。注:您可能会收到警告消息,指出 LoadRunner Controller 无法激活额外的 Vuser。这是由于您用本地计算机作为 Load Generator 并且该计算机的内存资源特别有限。多数状况下,应当运用专用计算机作为 Load Generator 以避开此类问题。

8.8应用程序在负载下如何运行在“场景状态”窗格中查看正在运行的场景的概要,然后深化了解是哪些 Vuser操作导致应用程序出现问题。过多的失败事务和错误说明应用程序在负载下的运行状况没有达到原来的期望。1.查看测试状态场景状态窗格显示场景的整体状态2.查看Vuser操作的具体信息点击场景状态窗格中通过的事务,查看事务的具体信息列表,将打开“事务”对话框。

8.9应用程序是否发生错误假如应用程序在重负载下启动失败,可能是出现了错误和失败的事务。Controller将在输出窗口中显示错误消息。1.检查全部错误消息选择视图---显示输出,或者点击场景状态窗格中的错误,输出对话框打开,列出消息文本,生成的消息总数,发生错误的Vuser,以及发生错误的脚本。

要查看消息的具体信息,请选择该消息并单击具体信息。将打开“具体信息文本”框,显示完整的消息文本。下例将显示超时错误。Web 服务器没有在给定时间内响应恳求。2.查看具体的日志信息您可以单击相应列中的蓝色链接-点击Total以查看与错误代码相关的每个消息、Vuser、脚本和 Load Generator。例如,要确定脚本中发生错误的位置,请向下搜寻消息总数列中的具体信息。“输出”窗口显示所选错误代码的全部消息列表,包括时间、迭代次数和脚本中发生错误的行。向下搜寻行号列。打开 VuGen,显示脚本中发生错误的行。您可以运用这些信息找出响应速度比较慢的事务,它们导致应用程序在负载下运行失败。

8.10如何知道测试已完成运行测试运行结束时,“场景状态”窗格将显示关闭状态。这表示 Vuser 已停止运行。可以在 Vuser 对话框中看到各个 Vuser 的状态。LoadRunner 将显示 Vuser 重复任务(迭代)的次数、胜利迭代的次数以及已用时间。8.11应用程序在负载下是否正常运行要了解应用程序在负载下的运行状况,须要查看事务响应时间并确定事务是否在客户可接受的范围内。假如事务响应时间延长,须要找出瓶颈。有关这方面的具体信息,请学习第 10

章“分析场景”。找出问题后,须要各方面(包括开发人员、DBA、网络以及其他系统专家)的共同努力来解决瓶颈问题。调整后,再次运行负载测试来确认所做的调整是否达到了预期效果。重复此循环以优化系统性能。要保存场景以便再次运用相同的设置运行,请选择文件 > 保存或单击保存按钮,然后在“文件名”框中输入场景名称。

第九章 面对目标的高级场景在前两章中,您已学习了如何手动创建和运行负载测试。在这一课,您将为测试定义一个要达到的目标。部署应用程序之前,要执行验收测试以确保系统能够担当预期的实际工作量。您可以定义预期的服务器执行速度,例如每秒点击次数或每秒事务数。此速度可由定义应用程序要求的业务分析员确定,也可以从实际运用的应用程序从前版本或者其他来源获得。您可以为想要生成的每秒点击次数、每秒事务数或者事务响应时间设置目标, LoadRunner 将运用面对目标的场景自动生成所需的目标。当应用程序在固定负载下运行时,您可以监控事务响应时间,了解应用程序供应应客户的服务水平。在这一章,您将创建面对目标的场景,在运用 5 到 10 个

Vuser 的状况下,在 Web服务器上每秒生成 3 次点击,并将这种负载级别保持 5 分钟。9.1应当运用哪种目标类型在面对目标的场景中, LoadRunner 供应五种不同类型的目标:您希望场景实现的并发

Vuser 数、每秒点击次数、每秒事务数、每分钟页面数或事务响应时间。

假如知道可运行各种业务流程的 Vuser 总数,就可以运用 Vuser 目标类型。➤

假如知道服务器的承载实力,就可以运用每秒点击次数、每分钟页数或每秒事务数目标类型。➤

假如知道完成事务所需的响应时间,就可以运用事务响应时间目标类型。例如,假如您希望用户在五秒钟内就能登录到您的电子商务网站,请将可接受的最长事务响应时间指定为五秒,并查看可以处理的实际 Vuser 数。9.2如何创建面对目标的场景要运用各种用户档案文件模拟实际系统,可以将多个脚本安排给场景,并在这些脚本之间安排负载百分比。应依据期望的负载设置百分比。1.创建新场景选择文件---新建,或者是单击新建打开“新建场景”对话框

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

“场景脚本”窗格➤

“服务水平协议”窗格➤

“场景目标”窗格

“场景脚本”窗格。在此窗格中,可以确定 Vuser 脚本、脚本路径、安排到每个脚本的总目标百分比以及 Load Generator。可以在此处配置场景。“服务水平协议”窗格。设计负载测试场景时,可以为性能指标定义目标值或服务水平协议

(SLA)。运行场景时, LoadRunner 收集并存储与性能相关的数据。分析运行状况时, Analysis 将这些数据与 SLA 进行比较,并为预先定义的测量指标确定 SLA 状态。“场景目标”窗格。位于下部的窗格,您可以在其中看到测试目标、达到该目标要运用的用户数、场景持续时间和加压方式。可以运用“编辑场景目标”对话框设置目标。9.4如何定义目标选择了要运行的脚本之后,须要定义要达到的目标。在这一节,您将创建目标配置文件并定义场景目标。1.打开“编辑场景目标对话框”单击编辑场景目标按钮,或选择场景----目标定义,这时将打开编辑场景目标对话框

本文标签: 场景运行脚本测试负载