loadrunner组件详解-场景分析及图教程(全)课件_第1页
loadrunner组件详解-场景分析及图教程(全)课件_第2页
loadrunner组件详解-场景分析及图教程(全)课件_第3页
loadrunner组件详解-场景分析及图教程(全)课件_第4页
loadrunner组件详解-场景分析及图教程(全)课件_第5页
已阅读5页,还剩441页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

LoadRunner性能测试黄文高E-mail:huangwengao@LoadRunner性能测试黄文高1第一章性能测试基础知识该章节主要包括以下部分内容:什么是软件性能性能测试相关术语性能测试划分性能测试应用领域第一章性能测试基础知识该章节主要包括以下部分内容:2第一章性能测试基础知识什么是软件性能?软件性能应该是一种指标,通过这个指标可以衡量,系统或构件性能达到的程度。也是对软件性能需求的一个测试和评估,用来验收或评估软件达到的性能程度。第一章性能测试基础知识什么是软件性能?3第一章性能测试基础知识性能测试相关术语响应时间是用户提交一个请求,系统从开始呈现到将所有信息都呈现到客户端所需要的时间第一章性能测试基础知识性能测试相关术语4第一章性能测试基础知识性能测试相关术语并发用户数指同一时刻与服务器进行数据交互的所有用户数量吞吐量吞吐量是指单位时间内系统处理客户请求的数量,其直接体现系统的承载的能力。第一章性能测试基础知识性能测试相关术语5第一章性能测试基础知识性能测试相关术语吞吐量作为性能测试时主要关注的一个指标,与虚拟用户数之间存在一定的关系,当系统没有遇到性的瓶颈时,可以采用下面这个公式来计算。第一章性能测试基础知识性能测试相关术语6第一章性能测试基础知识性能测试相关术语吞吐率指单位时间内的数据传输量,即吞吐量/传输时间,也可以是单位时间内处理的客户请求数。它是衡量网络性能一个重要指标。通常情况下吞吐量越大,吞吐率的值也越大。吞吐率越大表示系统的负载能力越强第一章性能测试基础知识性能测试相关术语7第一章性能测试基础知识性能测试相关术语TPS表示每秒系统处理的事务数,它是衡量系统处理能力的重要指标,在LoadRunner中一定要分析的一个指标点击率指每秒钟用户向Web服务器提交的HTTP的数量第一章性能测试基础知识性能测试相关术语8第一章性能测试基础知识性能测试相关术语资源利用率指的是系统资源被占用的情况,主要包括CPU利用率、内存利用率、磁盘利用率、网络等性能计数器是描述服务器或操作系统性能的一些数据指标。主要是通过添加计数器来观察系统资源的使用情况第一章性能测试基础知识性能测试相关术语9第一章性能测试基础知识性能测试相关术语思考时间(ThinkTime)指的是系统资源被占用的情况,主要包括CPU利用率、内存利用率、磁盘利用率、网络等性能计数器也称为“休眠时间”,从业务层面来说,这个时间是指用户在进行操作时,每个请求之间的时间间隔第一章性能测试基础知识性能测试相关术语10第一章性能测试基础知识性能测试划分负载测试压力测试配置测试并发测试可靠性测试第一章性能测试基础知识性能测试划分11第一章性能测试基础知识性能测试划分负载测试是通过对被测试系统不断的加压,直到超过预定的指标或者是部分资源已经达到了一种饱和状态不能再加压为止压力测试指当系统已经达到一定的饱和程度(如CPU、磁盘等已经处于一种饱和状态),系统处理业务的能力,系统是否会出现崩溃等第一章性能测试基础知识性能测试划分12第一章性能测试基础知识性能测试划分配置测试配置测试(ConfigurationTesting)是通过调整系统软/硬件环境,了解在不同环境下系统性能指标的情况,从而找到系统的最优配置。压力测试第一章性能测试基础知识性能测试划分13第一章性能测试基础知识性能测试划分并发测试并发测试(ConcurrencyTesting)是通过模拟用户并发访问,测试多用户同时访问同一应用、模块或数据,观察系统是否存在死锁、系统处理速度明显下降等其它的一些性能问题第一章性能测试基础知识性能测试划分14第一章性能测试基础知识性能测试划分可靠性测试是当系统在一定的业务压力下,让系统持续运行一段时间,看系统是否达到我们要求的稳定性,这里强调在一定业务压力下持续运行的能力,一定都会有一个明确的要求,例如:持续运行多少天系统不能出现问题第一章性能测试基础知识性能测试划分15第一章性能测试基础知识性能测试应用领域能力验证规划能力性能调优缺陷发现第一章性能测试基础知识性能测试应用领域16第一章性能测试基础知识性能测试应用领域能力验证能力验证是性能测试最常用的一个领域。一般能力验证采用这样的描述方式:“某系统能否在条件A下具备B性能”规划能力规划能力与能力验证有相似之处,但还是有不一样的地方,能力验证强调的是在某个条件下具备什么样的能力,而规划能力体现在系统如何才能达到要求的性能指标第一章性能测试基础知识性能测试应用领域17第一章性能测试基础知识性能测试应用领域能力验证性能调优是通过测试来调整系统的环境,最终使系统性能达到最优的状态。这是一个持续调优的过程,主要调优的对象有数据参数、应用服务器、系统的硬件资源等第一章性能测试基础知识性能测试应用领域18第一章性能测试基础知识性能测试应用领域发现缺陷性能测试应用领域的主要目标是通过性能测试的手段来发现系统存在的缺陷第一章性能测试基础知识性能测试应用领域19第二章性能测试基础知识该章节主要包括以下部分内容:LoadRunner工作原理LoadRunner工作过程LoadRunner内部结构LoadRunner测试步骤第二章性能测试基础知识该章节主要包括以下部分内容:20第二章性能测试基础知识LoadRunner工作原理第二章性能测试基础知识LoadRunner工作原理21第二章性能测试基础知识LoadRunner工作过程第二章性能测试基础知识LoadRunner工作过程22第二章性能测试基础知识LoadRunner内部结构第二章性能测试基础知识LoadRunner内部结构23第二章性能测试基础知识LoadRunner测试步骤第二章性能测试基础知识LoadRunner测试步骤24第三章Vuser发生器该章节主要包括以下部分内容:脚本录制RecordingOptions设置Run-TimeSetting设置脚本完善第三章Vuser发生器该章节主要包括以下部分内容:25第三章Vuser发生器脚本录制如何选择协议开始录制脚本第三章Vuser发生器脚本录制26第三章Vuser发生器脚本开发过程第三章Vuser发生器脚本开发过程27第三章Vuser发生器如何选择协议各种协议和相关头文件的对应关系第三章Vuser发生器如何选择协议28第三章Vuser发生器选择协议的常用方法主要有以下几种:询问开发工程师数据通讯采用何种协议当没有开发工程师支持时,可以通过概要或详细设计手册获知所使用的协议;使用协议分析工具捕获包进行分析,然后确定被测对象所使用的协议。根据以往测试经验来判断被测试对象采用的协议,这种方法具有猜测性,有时候不一定具备;第三章Vuser发生器选择协议的常用方法主要有以下几种:29第三章Vuser发生器协议分类表应用类型建议选用协议Web网站(J2EE、.NET)Web(HTTP/HTML)FTP服务器FileTransferProtocol(FTP)邮件服务器InternetMessagingApplicationProtocol(IMAP)PostOfficeProtocol(POP3)SimpleMailTransProtocol(SMTP)C/S客户端以ADO、OLEDB方式连接后台数据库MSSQLServerOrical、Sybase、DB2、Informix以ODBC方式连接后台数据库ODBC没有后台数据库Socket分布式组件COM/DCOM、EJB无线应用WAP、PALM第三章Vuser发生器协议分类表应用类型建议选用协议Web30第三章Vuser发生器LoadRunner提供三种选择协议的方式单协议脚本多协议脚本最近新建脚本类型使用过的协议第三章Vuser发生器LoadRunner提供三种选择协议31第三章Vuser发生器开始录制脚本Web(HTTP/HTML)协议为例第三章Vuser发生器开始录制脚本32第三章Vuser发生器RecordingOptions设置Recording标签页Advanced标签页Correlation标签页第三章Vuser发生器RecordingOptions设33第三章Vuser发生器Recording标签页第三章Vuser发生器Recording标签页34第三章Vuser发生器HTML-basescript方式:是对每个页面录制形成一条语句,在该模式下,访问一个页面,首先会与服务器之间建立一个连接获取页面的内容,然后从页面中分解得到其他的元素(component),然后建立几个连接分别获取相应的元素。URL-basescript方式:是将每条客户端发出的请求录制成一条语句,对在该模式下,一条语句只建立一个到服务器的连接,并将通讯过程中的很多隐藏的信息都录制出来(如session、cookie)。LoadRunner提供了web_concurrent_start和web_concurrent_end函数模拟URL-basescript的工作方式。第三章Vuser发生器HTML-basescript方式35第三章Vuser发生器分别使用这两种模式录制一个登录过程的脚本HTML方式录制第三章Vuser发生器分别使用这两种模式录制一个登录过程的36第三章Vuser发生器URL方式录制第三章Vuser发生器URL方式录制37第三章Vuser发生器Advanced标签页其中“Savesnapshotresourceslocally”表示运行结果中保存一个快照。“AddcommentstoscriptforHTTPerrorswhilerecording”表示出现错误时会自动添加注释。第三章Vuser发生器Advanced标签页38第三章Vuser发生器Advanced标签页第三章Vuser发生器Advanced标签页39第三章Vuser发生器Correlation标签页Correlation标签页用来对脚本中的关联属性进行设置。选中需要的关联规则,这样在时行录制脚本时会自动的进行关联。当然这里也可以点击“NewApplication”按钮来新建一个关联,再点“NewRule”按钮为该关联新建一个规则第三章Vuser发生器Correlation标签页40第三章Vuser发生器Correlation标签页第三章Vuser发生器Correlation标签页41第三章Vuser发生器Run-TimeSetting设置RunLogic标签页Pacing标签页ThinkTime标签页Miscellaneous标签页第三章Vuser发生器Run-TimeSetting设置42第三章Vuser发生器RunLogic标签页设置运行脚本的迭代的次数,可以更改“Numberofiterations”的值来设置迭代的次数第三章Vuser发生器RunLogic标签页43第三章Vuser发生器Pacing标签页Pacing选项主要是用来设置脚本迭代过程中,两次重复执行的时间间隔。Assoonasthepreviousiterationends:在多次迭代时,一次执行完后马上执行下一次。Afterthepreviousiterationends:这里有两个选择Fixed和Random。选择Fixed表示上一次执行结束后,等待固定的一段时间后,再执行下一次;选择Random表示上次一执行结束后,等待一段随机的时间长度后,再执行下一次,这个随机时的取范围为设置的范围。Atfixed/Randomintervals:这个表示不管上一次执行完与否,到达到规定的时间就开始执行下一次,这里也有两个选择Fixed和Random。Fixed表示固定的一个时间值;Random表示取一个随机值,随机值的范围是自己设置的。第三章Vuser发生器Pacing标签页44第三章Vuser发生器Pacing标签页第三章Vuser发生器Pacing标签页45第三章Vuser发生器ThinkTime标签页ThinkTime选项用来设置用户操作的思考时间。AsIgnorethinktime:运行脚本的时候忽略思考停顿时间。Replaythinktime:设置思考时间的延迟。Asrecorded:根据录制时的思考时间来运行Multiplyrecordedthinktimeby:根据录制时思考时间的整数倍来运行。Userandompercentageofrecordedthinktime:设置一个最大值和最小值,从中选出一个随机值。一般在实际使用过程中选择这种模式。Limitthinktimeto:设置一个最大的thinktime的值,如果录制值超过最大值,就以最大值为准。第三章Vuser发生器ThinkTime标签页46第三章Vuser发生器ThinkTime标签页第三章Vuser发生器ThinkTime标签页47第三章Vuser发生器Miscellaneous标签页ErrorHanding选项表示运行时出现错误时的处理,一般不需要改动。Multithreading选项表示运行时把虚拟用户当作进程还是线程来处理。RunVusersasaprocess表示把虚拟用户当作进程来处理。RunVusersasathread把虚拟用户当作线程来处理。在这里一般选择把虚拟用户当作进程来处理,这样才更真实的模拟了用户的操作。AutomaticTransactions选项用来设置事务模式。Defineeachactionasatransaction:将一个action看作一个事务。Defineeachstepasatransaction:将每一个操作步骤看作一个事务。第三章Vuser发生器Miscellaneous标签页48第三章Vuser发生器Miscellaneous标签页第三章Vuser发生器Miscellaneous标签页49第三章Vuser发生器脚本完善插入事务插入集合点插入注释第三章Vuser发生器脚本完善50第三章Vuser发生器插入事务插入事务的两种方法:脚本录制中插入和录制后插入事务的几种状态LR_AUTO、LR_PASS、LR_FAIL、LR_STOPLR_AUTO:事物的状态被自动设置,如果事务执行成功,状态设置为PASS,如果执行失败,状态设置FAIL,如果由于异常中断,状态被设置成STOP。LR_PASS:事务如果执行成功,代码返回的状态是PASS。LR_FAIL:事务如果执行失败,代码返回的状态是FAIL。LR_STOP:事务如果由于异常中断,代码返回的状态是STOP。第三章Vuser发生器插入事务51第三章Vuser发生器插入集合点插入集合点的两种方法:脚本录制中插入和录制后第三章Vuser发生器插入集合点52第三章Vuser发生器插入注释插入注释的两种方法:脚本录制中插入和录制后第三章Vuser发生器插入注释53第四章Controller控制器该章节主要包括以下部分内容:场景类型介绍场景设计场景执行场景监视第四章Controller控制器该章节主要包括以下部分内容54第四章Controller控制器场景类型介绍手动测试场景面向目标测试场景第四章Controller控制器场景类型介绍55第四章Controller控制器手动测试场景启动Controller控制器后,会弹出新建场景对话框,选择手动测试场景

第四章Controller控制器手动测试场景56第四章Controller控制器面向目标测试场景面向目标场景是一个闭环回馈关系,在这种场景模式下,首先定义要达到的目标,然后LoadRunner会自动基于这些目标创建场景,运行过程中,会不断的将结果与目标相比较,以决定下一步怎么走

第四章Controller控制器面向目标测试场景57第四章Controller控制器面向目标测试场景第四章Controller控制器面向目标测试场景58第四章Controller控制器场景类型介绍手动场景配置Schedule面向目标场景配置Schedule配置ViewScript配置LoadGenerator第四章Controller控制器场景类型介绍59第四章Controller控制器手动场景配置Schedule场景名称,可以添加一个场景、对场景进行重命名、删除某个场景,这里命名时场景名最好要具有意义,能表示场景动作。

第四章Controller控制器手动场景配置Schedul60第四章Controller控制器手动场景配置Schedule按场景计划,包括RampUp、Duration和RampDown三个选项卡RampUp选项卡:设置场景虚拟用户初始加载方式

第一:刚开始就加载所有虚拟用户。第二:每隔一段时间加载一定的虚拟用户,最常用的是这种方式,这种方式最接近用户的真实使用情况。

第四章Controller控制器手动场景配置Schedul61第四章Controller控制器RampUp选项卡第四章Controller控制器RampUp选项卡62第四章Controller控制器Duration选项卡:设置设置场景持续运行的情况第一:按照设置运行,即每个虚拟用户按照所指定的迭代次数运行,直到运行结束。第二:按时间运行:即所有虚拟用户一直在迭代重复运行脚本,直到指定的时间结束,脚本迭代次数被忽略,不起作用。第三:一直运行,不停止,直到人为停止场景的运行才结束。第四章Controller控制器Duration选项卡:设63第四章Controller控制器Duration选项卡第四章Controller控制器Duration选项卡64第四章Controller控制器RampDown选项卡第一:持续运行结束后,同时停止所有的虚拟用户。第二:每隔一段时间就停止一定量的虚拟用户,这项和RampUp中的第二项一样,只是这里是结束,那里设置的是开始。

第四章Controller控制器RampDown选项卡65第四章Controller控制器按用户组计划按用户组计划多了“StartTime”选项,在按用户组计划中,以组为单位进行计划,每个组都要设置自已的StartTime、RampUp、Duration和RampDown这里主要来看一下StartTime选项卡

第四章Controller控制器按用户组计划66第四章Controller控制器StartTime选项卡第一:场景运行时开始。第二:场景开始运行后一段时间才开始。第三:在某个特定的用户组运行结束后才开始,通俗的讲就是在某个脚本运行结束后才开始运行。

第四章Controller控制器StartTime选项卡67第四章Controller控制器百分比模式百分比模式是设定虚拟用户总数,然后以百分比的形式把虚拟用户分配到各脚本中。这种场景非常适合业务模型明确的性能测试

第四章Controller控制器百分比模式68第四章Controller控制器初始化虚拟用户初始化虚拟用户表示必须所有的虚拟用户都准备好之后,场景才能执行

第四章Controller控制器初始化虚拟用户69第四章Controller控制器面向目标场景配置Schedule在面向目标场景中,先定义测试达到的目标,然后LoadRuner自动根据这些目标创建场景

第四章Controller控制器面向目标场景配置Sched70第四章Controller控制器ScenarioSettings选项卡第一:在“RunTime”中设置一个时间,当然目标达到后,该场景还会持续运行设置时间后结束。第二:“Iftargetcannotbereached”设置如果目标达不到,Controller将如何处理场景。这里有两种选择,可以选择停止场景运行并保存结果(StopScenarioandsaveresults),或继续运行场景直到达到目标(Continuescenariowithoutreachinggoal)

第四章Controller控制器ScenarioSett71第四章Controller控制器ScenarioSettings选项卡第四章Controller控制器ScenarioSett72第四章Controller控制器LoadBehavior选项卡第一:让Controller自动加载用户。第二:设定一个时间后达到目标。第三:设置每隔一段时间增加一定的目标量。

第四章Controller控制器LoadBehavior73第四章Controller控制器目标类型(GoalType)第一:VirtualUsers目标类型这种目标类型主要是用来测试服务器对并发用户的处理能力,这种目标类型与手动设置

第四章Controller控制器目标类型(GoalTyp74第四章Controller控制器第二:HitperSecond目标类型设置的目标是点击数/秒。同时要设置最小虚拟用户数和最大虚拟用户数,当场景执行时,Controller会使用最小的虚拟用户来达到定义的目标。如果最小的用户,达不到目标,那个Controller将会增加虚拟用户数,直到定义的最大的虚拟用户数第四章Controller控制器第二:HitperSe75第四章Controller控制器第三:TransactionsperSecond目标类型设置的目标为每秒处理的事务数,但这里要注意的是,在脚本中一定要定义事务,否则事务名的地方为空白第四章Controller控制器第三:Transactio76第四章Controller控制器第四:TransactionsResponseTime目标类型这类目标是设置事务的响应时间,在多用户并发时,事务的响应时间,同时要设置好最大和最小虚拟用户数第四章Controller控制器第四:Transactio77第四章Controller控制器第五:PagesperMinute目标类型设置目标为每分钟处理的页面数第四章Controller控制器第五:Pagesper78第四章Controller控制器配置ViewScript在场景设计界面,脚本加载后,如需对加载的脚本修改,选中需要配置的脚本,单击右侧的“ViewScript”按钮。注意,对脚本修改后,一定要重新加载脚本,确保修改一定有效。第四章Controller控制器配置ViewScript79第四章Controller控制器配置LoadGeneratorLoadGenerator又叫负载发生器,当控制器发出执行命令时,LoadGenerator负责和其它的负载机建立起联系并强制负载机执行,单击“Connect”按钮,测试负载与控制机是否连接好

第四章Controller控制器配置LoadGenera80第四章Controller控制器场景执行场景控制场景执行期间查看场景第四章Controller控制器场景执行81第四章Controller控制器场景控制第四章Controller控制器场景控制82第四章Controller控制器场景控制(开始场景):单击该按钮,场景即开始运行(停止场景):场景运行停止,在场景未开始运行时,该按钮为灰,不可用,只有当场景已经开始运行后,该按钮才是可用状态。第四章Controller控制器场景控制83第四章Controller控制器场景控制(重置/复位):将方案中所有的Vuser组重置为方案运行前的“关闭”(Down)状态,准备下一次场景的执行(虚拟用户组):单击该按钮,能打开Vuser对话框,可以查看Vuser组中每个Vuser的详细状态,如图4-29所示。显示出该组中每个Vuser的ID、运行状态、脚本、负载生成器和所用时间第四章Controller控制器场景控制84第四章Controller控制器场景控制场景结束运行的三种模式单击“Tools”->“Options”选项,弹出“Options”对话框,选中Run-timeSettings选项卡第四章Controller控制器场景控制85第四章Controller控制器场景控制第四章Controller控制器场景控制86第四章Controller控制器场景控制第一:等当前迭代运行结束后,再停止运行场景(Waitforthecurrentiterationtoendbeforestopping);第二:等当前的Action运行结束后,再停止运行场景(Waitforthecurrentactiontoendbeforestopping);第三:不等待,立即停止运行场景(Stopimmediately);第四章Controller控制器场景控制87第四章Controller控制器在虚拟用户组点击双键,可以对虚拟用户组进行相关的操作第四章Controller控制器在虚拟用户组点击双键,可以88第四章Controller控制器选择“Pause”,可以暂停该Vuser,但是暂停Vuser将影响其事务响应时间选择“Reset”,可以重置该Vuser,使其重新回到“关闭”的状态选择“InitializeVuser/s”,可以初始化该Vuser选择“Renumber”,可以对该Vuser编号重新定义选择“FilterVusers”,可以筛选列出来的Vuser,可以使用不同的筛选条件进行筛选,也可以Vuser对话框中的筛选器中选择要使用的筛选条件第四章Controller控制器选择“Pause”,可以暂89第四章Controller控制器选择“SortVusers”,再选择不同的排序方式对Vuser进行排序选择“ShowVusers”,可以查看正在执行所分配脚本的Vuser。此时会弹出运行时查看器,并显示返回到Vuser的页面快照,可以查看正在执行脚本的Vuser。运行时查看器的功能与浏览器的功能不一样,它显示的图像是快照,而不是回放的所有特征选择“ShowVusersLog”,会显示出该Vusers脚本日志第四章Controller控制器选择“SortVuser90第四章Controller控制器场景执行期间查看场景Vuser运行状态第四章Controller控制器场景执行期间查看场景91第四章Controller控制器Vuser运行状态状态含义关闭(Down)Vuser处于关闭状态挂起(Pending)Vuser初始化已就绪,正在等待可用的负载生成器,或者正在向负载生成器传输文件初始化(Init)Vuser正在进行初始化就绪(Ready)Vuser已经执行了脚本的初始化部分,可以开始运行正在运行(Run)Vuser正在运行。正在负载生成器上执行Vuser脚本集合点(Rendezvous)Vuser已经到达了集合点,正在等待释放完成并通过(Passed)Vuser已结束运行。脚本执行通过完成但失败(Failed)Vuser已结束运行。脚本执行失败错误(Error)Vuser发生了错误。要了解错误的完整说明,请查看“输出”窗口或“Vuser”对话框中的“状态”字段逐步退出(GradulaExiting)Vuser正在运行退出前的最后一次迭代退出(Exiting)Vuser运行结束,正在退出停止(Stopped)设置“停止”命令后,Vuser即停止第四章Controller控制器Vuser运行状态状态含义92第四章Controller控制器事务详细信息第四章Controller控制器事务详细信息93第四章Controller控制器事务详细信息状态概要含义场景状态(ScenarioStatus)场景处于“正在运行”状态,还是处于“关闭”状态正在运行的Vuser(RunningVusers)负载生成器计算机上正在执行的Vuser数已用时间(ElapsedTime)指自场景开始运行到现在所用的时间每秒点击次数(Hits/Second)指每个Vuser运行期间,每秒对所测试网站的点击次数(HTTP请求数)通过的事务数场景运行到现在成功通过的事务数失败的事务数场景运行到现在失败的事务数错误数场景运行到现在发生错误的Vuser数第四章Controller控制器事务详细信息状态概要含义场94第四章Controller控制器查看“输出”窗口第四章Controller控制器查看“输出”窗口95第四章Controller控制器场景监视关于联机监控监控器与度量联机监视器第四章Controller控制器场景监视96第四章Controller控制器关于联机监控第四章Controller控制器关于联机监控97第四章Controller控制器LoadRunner提供的监视器“运行时”监视器:显示参与场景的Vuser数和状态,以及Vuser生成的错误数和类型“事务”监视器:显示场景运行时,各事务速率和响应时间“Web资源”监控器:监视场景运行时期间Web服务器上的信息,主要包括Web连接数、吞吐量、HTTP响应数、服务器重试次数和下载到服务器的页面数信息“系统资源”监控器:主要是监控场景运行期间Windows、UNIX、Tuxedo、SNMP、AntaraFlameThrower和SiteScope资源使用情况“网络延迟”监控器:显示关于系统网络延迟的信息第四章Controller控制器LoadRunner提供的98第四章Controller控制器LoadRunner提供的监视器“防火墙”监控器:用来度量场景执行期间防火墙服务器信息统计的情况“Web服务器资源”监控器:用来度量场景运行期间Apache、MicrosoftIIS、iPlanet(SNMP)和iPlanet/NetscapeWeb服务器的统计信息“Web应用程序服务器资源”监控器:度量场景运行期间应用程序服务器Ariba、ATGDynamo、BroadVision、ColdFusion、FujitsuINTERSTAGE、iPlanet(NAS)、MicrosoftASP、Oracle9iASHTTP、SilverStream、WebLogic(SNMP)、WebLogic(JMX)和WebSphere统计信息的情况第四章Controller控制器LoadRunner提供的99第四章Controller控制器LoadRunner提供的监视器“数据库服务器资源”监控器:用于度量场景运行期间数据库DB2、Oracle、SQL服务器和Sybase统计信息的情况“流媒体”监控器:用来度量场景运行期间RealPlayer和MediaPlayer客户端以及WindowsMedia服务器和RealPlayer音频/视频服务器的统计信息“ERP/CRM服务器资源”监控器:用来度量场景执行期间SAPR/3系统、SAPPortal、SiebelServerManager、SiebelWeb服务器和PeopleSoft(Tuxedo)服务器的统计信息“Java性能”监控器:用于度量J2EE对象及J2EE和EJB服务器对象的统计信息第四章Controller控制器LoadRunner提供的100第四章Controller控制器LoadRunner提供的监视器“应用程序组件“监控器:用来度量场景执行期间MicrosoftCOM+和Microsoft.NETCLR服务器的统计信息“应用程序部署解决方案”监控器:用来度量场景执行期间CitrixMetaFrameXP和1.8服务器的统计信息“中间件性能”监控器:度量场景执行期间Tuxedo和IBMWebSphereMQ服务器的统计信息“基础结构资源”监控器:用于度量场景执行期间网络客户端数据点的统计信息第四章Controller控制器LoadRunner提供的101第四章Controller控制器监视器与度量

添加计数器第四章Controller控制器监视器与度量102第四章Controller控制器联机监视器第四章Controller控制器联机监视器103第五章Analysis分析器该章节主要包括以下部分内容:Analysis介绍报告概要Analysis常见分析图Analysis报告第五章Analysis分析器该章节主要包括以下部分内容:104第五章Analysis分析器Analysis介绍Analysis基础知识设置选项Analysis图第五章Analysis分析器Analysis介绍105第五章Analysis分析器Analysis基础知识Vuser日志文件,包括每个Vuser运行方案的完整跟踪Controller输出窗口,输入窗口中错误信息Analysis图,分析数据的最主要手段“图数据”视图和“原始数据”视图以电子表格形式显示用于生成图的实际数据报告形式,包括HTML、Word和水晶报表三种形式的报告。第五章Analysis分析器Analysis基础知识106第五章Analysis分析器设置选项ResultCollection设置第五章Analysis分析器设置选项107第五章Analysis分析器SetGranularity设置第五章Analysis分析器SetGranularity108第五章Analysis分析器ConfigureMeasurements设置第五章Analysis分析器ConfigureMeasu109第五章Analysis分析器设置筛选条件第五章Analysis分析器设置筛选条件110第五章Analysis分析器Analysis图Analysis分析器中提供了丰富分析图,常见的有8种:Vusers图、错误图、事务图、Web资源图、网页细分图、系统资源图、Web服务器资源图和数据库服务器资源图第五章Analysis分析器Analysis图111第五章Analysis分析器Analysis图第五章Analysis分析器Analysis图112第五章Analysis分析器报告概要概要部分统计部分事务统计部分HTTP响应统计第五章Analysis分析器报告概要113第五章Analysis分析器概要部分Analysis概要总结部分的信息第五章Analysis分析器概要部分114第五章Analysis分析器统计部分统计部分显示的信息第五章Analysis分析器统计部分115第五章Analysis分析器事务统计部分事务统计部分的信息第五章Analysis分析器事务统计部分116第五章Analysis分析器HTTP响应统计HTTP响应统计的信息第五章Analysis分析器HTTP响应统计117第五章Analysis分析器Analysis常见图分析Vuser图每秒点击数图平均事务响应时间图吞吐量图第五章Analysis分析器Analysis常见图分析118第五章Analysis分析器Vuser图第五章Analysis分析器Vuser图119第五章Analysis分析器每秒点击数图“每秒点击数”图显示在方案运行过程中Vuser每秒中向Web服务器提交的HTTP请求数第五章Analysis分析器每秒点击数图120第五章Analysis分析器平均事务响应时间图“平均事务响应时间”图显示方案在运行期间每一秒内执行事务所用的平均时间第五章Analysis分析器平均事务响应时间图121第五章Analysis分析器吞吐量图吞吐量”图显示方案运行过程中服务器上每秒的吞吐量第五章Analysis分析器吞吐量图122第五章Analysis分析器Analysis报告HTML报告WORD报告水晶报表第五章Analysis分析器Analysis报告123第五章Analysis分析器HTML报告第五章Analysis分析器HTML报告124第五章Analysis分析器WORD报告Format选项卡第五章Analysis分析器WORD报告125第五章Analysis分析器WORD报告PrimaryContent选项卡第五章Analysis分析器WORD报告126第五章Analysis分析器WORD报告AdditionalGraphs选项卡第五章Analysis分析器WORD报告127第五章Analysis分析器水晶报表水晶报表包括活动报告和性能报告两类报告。而活动报告又包括场景执行报告、失败事务报告和失败虚拟用户报告。性能报告又包括数据点报告、详细事务报告和事务性能报告第五章Analysis分析器水晶报表128第五章Analysis分析器水晶报表ScenarioExecutionReport第五章Analysis分析器水晶报表129第五章Analysis分析器水晶报表FailedTransactionReport第五章Analysis分析器水晶报表130第五章Analysis分析器水晶报表FailedVusersReport第五章Analysis分析器水晶报表131第五章Analysis分析器水晶报表DataPointReport第五章Analysis分析器水晶报表132第五章Analysis分析器水晶报表DetailedTransactionReport第五章Analysis分析器水晶报表133第五章Analysis分析器水晶报表TransactionPerformanceReport第五章Analysis分析器水晶报表134第六章脚本编写该章节主要包括以下部分内容:检查点Block块技术参数化技术关联技术第六章脚本编写该章节主要包括以下部分内容:135第六章脚本编写检查点在进行压力测试时,经常会有页面间数据传递的操作,页面就有可能会发生传递混乱,或者客户端与服务端数据传输被中断或传输了错误的数据等情况。所以我们需要一个检查的过程检查点返回的值是通过检查点函数将返回值的结果反映在Controller的状态面板上和Analysis统计结果中第六章脚本编写检查点136第六章脚本编写插入检查点的步骤将视图模式设置为“TreeView”第六章脚本编写插入检查点的步骤137第六章脚本编写插入检查点的步骤在“TreeView”中选择要插入检查点的位置第六章脚本编写插入检查点的步骤138第六章脚本编写插入检查点的步骤选择检查点类型和插入函数第六章脚本编写插入检查点的步骤139第六章脚本编写插入检查点的步骤参数化第六章脚本编写插入检查点的步骤140第六章脚本编写常用的检查点函数web_find()web_reg_find()第六章脚本编写常用的检查点函数141第六章脚本编写Block块技术案例:假如想在一个脚本中,实现注册执行3次,登录执行1次,查询执行2次,怎么办?首先使用LoadRunner录制好脚本第六章脚本编写Block块技术142第六章脚本编写进入菜单Vuser->Run-timeSettings,弹出Run-timeSettings对话框,选择General->RunLogic标签页第六章脚本编写进入菜单Vuser->Run-timeSe143第六章脚本编写选择Run插入一个Block块第六章脚本编写选择Run插入一个Block块144第六章脚本编写选择Block0,按InsertAction键,弹出SelectActions对话框第六章脚本编写选择Block0,按InsertActio145第六章脚本编写重复以上操作,再新建两个Block块为Block1和Block2,并为这两个块插入对应的Action第六章脚本编写重复以上操作,再新建两个Block块为Blo146第六章脚本编写将Block外面的Action删除第六章脚本编写将Block外面的Action删除147第六章脚本编写设置Blockproperties第六章脚本编写设置Blockproperties148第六章脚本编写参数化技术所谓的脚本参数化,就是针对脚本中的某些常量,定义一个参数来取代,这个参数中包含很多数据源,可以是一文本文件也可以是数据源。那么为什么要进行参数化呢?为了减少脚本的大小和脚本数量。使业务更接近真实的客户业务。第六章脚本编写参数化技术149第六章脚本编写创建参数录制好脚本后,选中要参数化的常量点右键­->Replacewithaparameter第六章脚本编写创建参数150第六章脚本编写创建参数当参数化结束后,脚本保存的根目录下会多出一个参数化的文件。

第六章脚本编写创建参数151第六章脚本编写创建参数如果有多个参数文件,可以对参数文件进行合并

第六章脚本编写创建参数152第六章脚本编写创建参数参数文件合并后,可以放到一个专门管理参数文件的文件夹中

第六章脚本编写创建参数153第六章脚本编写参数类型属性“Date/Time”(日期/时间)参数类型“GroupName”(组名)参数类型“IterationNumber”(迭代编号)参数类型:“LoadGeneratorName”(负载生成器名)参数类型“RandomNumber”(随机编号)参数类型“UniqueNumber”(唯一编号)参数类型“VuserID”参数类型File参数类型第六章脚本编写参数类型属性154第六章脚本编写数据文件Browse属性EditWithNotepad设置Selectcolumn设置Columndelimiter设置Filedataline设置Selectnextrow设置Updatevalueon设置第六章脚本编写数据文件155第六章脚本编写导入数据使用MicrosoftQuery指定数据库连接字符串和SQL语句

第六章脚本编写导入数据156第六章脚本编写关联技术录制中关联建立规则内建关联规则第六章脚本编写关联技术157第六章脚本编写录制中关联建立规则用户自定义关联规则第六章脚本编写录制中关联158第六章脚本编写录制中关联规则使用在Tools->RecordingOptions对话框中选中“Enablecorrelationduringrecording”复选框,启用自动关联第六章脚本编写录制中关联159第六章脚本编写录制后关联录制后关联与内建关联还是有点区别的,录制后关联是在执行脚本后才会建立关联,也就是说,当录制完脚本后,脚本至少要执行一次,录制后关联才会产生效果。。点菜单Vuser->ScanScriptforCorrelations或按Ctrl+F8第六章脚本编写录制后关联160第六章脚本编写录制后关联第六章脚本编写录制后关联161第六章脚本编写手动关联手动关联的一般步骤如下:录制两份相同的业务流程和数据的脚本使用WinDiff工具比较两份脚本,找到需要关联的数据找到左边界和右边界字符串使用web_reg_save_param函数手动建立关联将脚本中有用到关联的数据,以参数取代第六章脚本编写手动关联162第七章场景设计实践该章节主要包括以下部分内容:集合点设置IP欺骗技术执行路径转换在LoadRunner中使用功能测试脚本第七章场景设计实践该章节主要包括以下部分内容:163第七章场景设计实践集合点设置选择“Scenario”->“Rendezvous”插入集合点第七章场景设计实践集合点设置164第七章场景设计实践集合点设置在场景中设置集合点第七章场景设计实践集合点设置165第七章场景设计实践集合点设置策略第一项:表示当所有用户数的X%到达集合时,就开始释放等待的用户并继续执行场景。第二项:表示当前正在运行用户数的X%到达集合点时,就开始释放等待的用户并继续执行场景。第三项:表示当X个用户到达集合点时,就开始释放等待的用户并继续执行场景。第七章场景设计实践集合点设置策略166第七章场景设计实践集合点设置策略第七章场景设计实践集合点设置策略167第七章场景设计实践IP欺骗在“开始”菜单->“所有程序”>“MercuryLoadRunner”->“Tools”->“IPWizard”,弹出IPWizard配置对话框第七章场景设计实践IP欺骗168第七章场景设计实践IP欺骗在这里选择一种方式进行设置,如果以前保存过这类文件,可以选择“从文件中加载”,然后选择该文件即可也可以选择“创建一个新的设置”单击“下一步”,设置服务器的IP地址第七章场景设计实践IP欺骗169第七章场景设计实践IP欺骗单击“下一步”将看到该计算机的IP地址列表。单击“添加”按钮可以定义地址范围第七章场景设计实践IP欺骗170第七章场景设计实践IP欺骗在该对话框,选择计算机的IP地址类型。指定要创建的IP地址数。选中“验证新的IP地址未被使用”复选框,以指示IP向导对新地址进行检查。这样只会添加未使用的地址完成之后,IP向导会显示出IP变更统计的对话框第七章场景设计实践IP欺骗171第七章场景设计实践IP欺骗第七章场景设计实践IP欺骗172第七章场景设计实践IP欺骗以上是同网段IP欺骗,那么跨网段IP欺骗应该如何处理呢?在设置完成IP欺骗的最后一步,不要重启计算机,此时在临时文件夹Temp里生成两个文件,一个是用于UNIX的unix_routing.sh文件,一个是用于WINDOWS的nt_routing.bat文件。下面我们来看一下这两个文件的内容第七章场景设计实践IP欺骗173第七章场景设计实践IP欺骗nt_routing.bat文件的内容如下:REMThisisabatfiletoaddIPaddressestotheroutingtableofaserverREMReplace[CLIENT_IP]withtheIPofthismachine(LoadGenerator)thattheserveralreadyrecognizesREMThisscriptshouldbeexecutedontheservermachinerouteADD2MASK55[CLIENT_IP]METRIC1routeADD3MASK55[CLIENT_IP]METRIC1routeADD5MASK55[CLIENT_IP]METRIC1第七章场景设计实践IP欺骗174第七章场景设计实践IP欺骗uxix_routing.sh文件的内容如下:#BourneshellscripttoaddIPaddressestotheroutingtableofaserver#Torunreplace[CLIENT_IP]withtheIPofthismachine(LoadGenerator)thattheserveralreadyrecognizes#Thenchmod+xunix_routing.sh#andfinallyexecutethisscriptontheserver#!/bin/shrouteadd2[CLIENT_IP]routeadd3[CLIENT_IP]routeadd5[CLIENT_IP]第七章场景设计实践IP欺骗175第七章场景设计实践IP欺骗要更新服务器路由表,必须对这两个文件进行一定的修改。每次出现[CLIENT_IP],将[CLIENT_IP]用LoadRunner机器的IP地址替换。假设我们LoadRunner机器的IP地址6。修改的文件必须在服务器上运行该文件,Windows系统使用nt_routing.bat文件,Unix系统使用uxix_routing.sh文件。第七章场景设计实践IP欺骗176第七章场景设计实践IP欺骗下面我们来看一下修改后的两个文件:nt_routing.bat文件内容如下:REMThisisabatfiletoaddIPaddressestotheroutingtableofaserverREMReplace[CLIENT_IP]withtheIPofthismachine(LoadGenerator)thattheserveralreadyrecognizesREMThisscriptshouldbeexecutedontheservermachinerouteADD2MASK555METRIC1routeADD3MASK555METRIC1routeADD5MASK555METRIC1第七章场景设计实践IP欺骗177第七章场景设计实践IP欺骗下面我们来看一下修改后的两个文件:uxix_routing.sh文件内容如下:#BourneshellscripttoaddIPaddressestotheroutingtableofaserver#Torunreplace[CLIENT_IP]withtheIPofthismachine(LoadGenerator)thattheserveralreadyrecognizes#Thenchmod+xunix_routing.sh#andfinallyexecutethisscriptontheserver#!/bin/shrouteadd25routeadd35routeadd55修改好后,将这两个文件拷贝到服务器运行,重启当前的电脑IP欺骗设置即生效第七章场景设计实践IP欺骗178第七章场景设计实践Controller中启动IPSpoofer选择“Scenario”->“EnableIPSpoofer”,启动IPSpoofer策略第七章场景设计实践Controller中启动IPSpoo179第七章场景设计实践Controller中启动IPSpoofer当启动IPSpoofer后,在Run选项卡的右下角会看到IPSpoofer的标记第七章场景设计实践Controller中启动IPSpoo180第七章场景设计实践负载均衡技术为了尽可能减少或者避免本身的测试机成为测试过程中的瓶颈,在测试过程中,我们需要使用所有的测试机产生Vuser,对被测试系统进行施压在默认模式下,Controller中只能添加一台机器第七章场景设计实践负载均衡技术181第七章场景设计实践负载均衡技术这样负载分配还是不均匀,为了解决这个问题,首先要更换场景模式,选择“Scenario”->“ConvertScenariotothePercentageMode”第七章场景设计实践负载均衡技术182第七章场景设计实践负载均衡技术在这里我们可以选择我们要的负载机,也可以选择所有的负载机,点击“OK”按钮,选择的机器都将被添加进来之后将百分比模式切换成组模式即可第七章场景设计实践负载均衡技术183第七章场景设计实践执行路径转换路径转换介绍路径转换是LoadRunner在转换Controller的远程路径名时所使用的一种机制。一个远程负载生成器将网络驱动器映射为F,而另一个负载生成器将同一个驱动器映射为H。在如此复杂的场景中,需要确保所有参与的计算机能够识别同一个网络驱动器第七章场景设计实践执行路径转换184第七章场景设计实践执行路径转换路径转换介绍第七章场景设计实践执行路径转换185第七章场景设计实践执行路径转换编辑路径转换表在Controller控制器中,选择“Tools”->“Options”,选择“PathTranslationTable”选项卡,打开路径转换表视图第七章场景设计实践执行路径转换186第七章场景设计实践执行路径转换编辑路径转换表输入路径转换信息之前,请首先考虑使用通用命名约定方法如果您的计算机不是Windows计算机并需要路径转换,则请在该表中键入路径信息第七章场景设计实践执行路径转换187第七章场景设计实践在LoadRunner中使用功能测试脚本在LoadRunner中运行功能测试脚本的主要优点有以下几点:可检查高负载对应用程序的功能带来的影响。可以度量应用程序在负载下运行时,典型用户在客户端等待的响应时间(端到端的响应时间)。第七章场景设计实践在LoadRunner中使用功能测试脚本188第七章场景设计实践在LoadRunner中使用功能测试脚本第七章场景设计实践在LoadRunner中使用功能测试脚本189第七章场景设计实践QuickTest创建GUIVuser脚本QuickTest与LoadRunner集成要注意以下几个方面事务将集成数据与测试一起保存添加语句为LoadRunner设计测试第七章场景设计实践QuickTest创建GUIVuser190第七章场景设计实践WinRunner创建GUIVuser脚本使用WinRunner创建GUIVuser脚本时,要注意下面几个地方:插入事务和集合点向Controller发送消息运行Controller的计算机

第七章场景设计实践WinRunner创建GUIVuser191第七章场景设计实践场景中使用GUIVuser脚本在添加GUIVuser脚本到LoadRunner场景前,要注意以下几个问题:每台计算机上每次只能运行一个GUIVuser请确保在运行场景前关闭Q uickTest或WinRunner在“Run-timeSettingforscript”设置对话框中,只有“General”类中的“RunLogic”和“ThinkTime”与QuickTest和WinRunner测试有关

第七章场景设计实践场景中使用GUIVuser脚本192第八章结果分析实践该章节主要包括以下部分内容:分析图合并分析图关联页面细分钻取技术导入外部数据第八章结果分析实践该章节主要包括以下部分内容:193第八章结果分析实践分析图合并分析图合并原理叠加:查看共用同一X轴的两个图的内容。合并图左侧的Y轴显示当前图的Y轴值,右边的Y轴显示合并进来的图的Y轴值平铺:查看在平铺布局,共用同一个X轴,合并进来的图显示在当前图的上向关联:合并后当前活动图的Y轴变为合并图的X轴,被合并图的Y轴作为合并图的Y轴第八章结果分析实践分析图合并194第八章结果分析实践分析图合并实例讲解第八章结果分析实践分析图合并195第八章结果分析实践分析图关联分析图关联原理第八章结果分析实践分析图关联196第八章结果分析实践分析图关联分析图关联原理Trend(趋势):选择关联度量值变化趋势相对稳定的一段为时间范围Feature(功能):在关联度量值变化相对稳定的时间内,选择一段大体与整个趋势相似的时间范围Best(最佳):选择关联度量值发生明显变化趋势的一段时间范围第八章结果分析实践分析图关联197第八章结果分析实践分析图关联实例讲解第八章结果分析实践分析图关联198第八章结果分析实践页面细分页面细分原理下面来看一下在浏览器发送一个请求到最后显示全过程浏览器向服务器发送一个请求,一般情况下,请求首先是被发送到DNS服务器上,通过域名解析,将DNS名解析为IP地址。其中域名解析的时间就是DNS解析的时间(DNSResolution)第八章结果分析实践页面细分199第八章结果分析实践页面细分原理DNS解析完成后,请求被送到Web服务器,之后浏览器与Web服务器之间需要建立一个初始化连接建立连接后,Web服务器发出第一个数据包,经过网络传输到客户端,浏览器成功接收到第一个字节的时间就是FirstBuffer的时间从浏览器接收到第一个字节起,直到成功接收到最后一个字节,下载完成为止第八章结果分析实践页面细分原理200第八章结果分析实践页面细分实例讲解第八章结果分析实践页面细分201第八章结果分析实践钻取技术钻取技术原理钻取技术通常有以下几个特点:在一个活动图中,选择一个需要的组进行显示,这时钻取技术可以帮助我们进行特定的测量而这个组是由活动图所决定对于不同的图,组信息有所不同可以钻取每个Vuser的响应时间,并可以按VuserID进行排序钻取后的信息会按组中不同的元素与不同的曲线显示第八章结果分析实践钻取技术202第八章结果分析实践钻取技术实例讲解第八章结果分析实践钻取技术203第八章结果分析实践导入外部数据LoadRunner自带了一个导入数据的工具,选择“Tools”->“ExternalMonitors”->“ImportData”。第八章结果分析实践导入外部数据204第八章结果分析实践自定义文件格式LoadRunner支持下列文件类型:NTPerformanceMonitor(*.csv)(NT性能监视器)Win2KPerformanceMonitor(*.csv)(Windows2000性能监视器)StandardCommaSeparatedfiles(*.csv)(标准逗号分隔文件)StandardMicrosoftExcelFiles(*.csv)(主从逗号分隔文件)第八章结果分析实践自定义文件格式205第八章结果分析实践自定义文件格式LoadRunner支持下列文件类型:Master-DetailCommaSeparatedfiles(*.csv)(MicrosoftExcel文件)Master-DetailMicrosoft

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论