自整理loadrunner学习笔记2.doc_第1页
自整理loadrunner学习笔记2.doc_第2页
自整理loadrunner学习笔记2.doc_第3页
自整理loadrunner学习笔记2.doc_第4页
自整理loadrunner学习笔记2.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、 LoadRunner 1.性能测试的概念是指通过模拟生产运行的业务压力或用户使用场景来测试系统的性能是否满足生产性能的要求。性能测试时一种正常测试,或者:在模拟真实的被测情况,测试被测系统的性能。2.影响系统性能的主要因素硬件:CPU、内存、硬盘、网卡及其他网络设备操作系统网络中间件(是一类连接软件组件和应用的计算机软件)、Web服务器数据库服务客户端编程语言、程序实现方式、算法3.什么是Load RunnerLoad Runner,是一种预测系统行为和性能的负载测试工具4.Load Runner的解决方案v 利用Virtual Users 代替实际测试人员v 运行大量的“Virtual Users”在不同的机器上v 通过“Controller”管理“V users”v 利用图表工具分析测试结果5.Load Runner主要特点v 广泛支持业界标准协议v 支持多种平台开发脚本v 创建真实的系统负载v 强大的实时监控与数据采集功能v 精确分析结果,定位问题所在6.性能测试的基本过程 a.性能测试需求分析(性能测试的目的就是把客户的真正需求搞清楚,是性能测试最关键的过程) b.性能测试计划(是性能测试的重要过程) c.性能测试用例(性能测试需求最终体现在性能测试用例设计中,性能测试用例应结合用户应用系统的场景,设计出相应的性能测试用例,用例应能覆盖到测试需求) d.测试脚本编写(性能测试用例编写完后,需要结合用例的需要,进行测试脚本的编写工作) e.测试场景设计:测试场景运行、场景运行监控、运行结果分析、系统性能调优(是以性能测试用例、测试脚本编写为基础,脚本编写完成,需在脚本中进行处理,如并发操作,则加入集合点;某一项业务处理响应时间等) f.性能测试总结(性能测试工作完成后,需编写性能测试总结报告)7.性能测试的目的 是为了验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统总存在的性能瓶颈、优化软件,最后到优化系统的目的。包括以下4个方面:a评估系统的能力:测试中得到的负荷(资源被占用的比例)和响应时间数据可以被用于验证所计划的模型的能力,并帮助作出决策b识别系统中的弱点:受控的负荷可以被增加到一个极端的水平,并突破它,从而修复体系的瓶颈或薄弱的地方c系统调优:重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能,检测软件中的问题,长时间的测试执行可导致程序发生由于内存泄露引起失败,揭示程序中的隐含的问题或冲突d验证稳定性和可靠性:在一个生产负荷下执行测试一定的时间是评估系统稳定和可靠性是否满足要求的唯一方法。4. Loadrunner是一种适用于许多体系架构的自动负载测试工具,它能从用户关注的“响应时间”、“点击次数”或业务层面的“吞吐量”、“请求数”衡量系统的性能表现,并辅助用户优化系统性能。二、web性能测试常用指标响应时间:用户感受软件系统为其服务所耗费的时间 例如:百度一下 遵循2-5-8原则 2-5,会感受系统的响应速度还可以 5-8 响应速度很慢,但还可以 超过8 很慢 吞吐量:下载东西 单位时间内客户端向服务器成功发送数据的数量资源使用率:硬件的指标 CPU占用率、内存使用率、磁盘I/O、网络I/O每秒点击数:客户端每秒向服务器端的请求数并发用户数:在客户端的一批用户同时执行的一个操作的数量三、性能测试的常用语(1)并发(Concurrency)v 所有的用户在同一时刻做同一件事情或操作,一般针对同一类型的业务。v 在线(OnLine):多用户在一段时间内对系统执行操作。并发用户数常见的错误观点:v 把并发用户数理解为使用系统的全部用户的数量v 并发用户数量就是用户的在线数量(2) 请求响应时间v 指从客户端发送一个请求开始计时,到客户端接到从服务端返回的响应结果计时结束。v 在一些工具中,请求响应时间通常被称为TTLB,即“Time to last byte”,意思是从发送第一个请求开始,到客户端收到最后一个字节的响应为止所耗费的时间v 请求响应时间的单位一般为秒或毫秒(3) 事务响应时间用户完成某个具体事务(如跨行取款事务)所需要的时间(4) 点击率每秒钟用户向Web服务器提交的HTTP(超文本传送协议)请求数。v 点击率越大,对服务器的压力也越大v 注意:点击不是指鼠标的一次单击操作,因为在一次单击操作中,客户端可能向服务器发出多个HTTP请求。(5) 吞吐量用户在任意给定一秒从服务器端获得的全部数据量,单位是字节v 吞吐量/传输时间,就是吞吐率(6) 吞吐率服务器每秒吞吐量(吞吐量/测试时间),反映服务器的处理速度和性能,也是衡量网络性能的重要指标从用户或业务角度看,吞吐率也可以用“业务数/小时或天”、“访问人数/天”等来衡量v 例如:银行卡审批系统中,可以使用“千件/小时”来衡量系统的业务处理能力TPS(事务数/秒)u 吞吐率和点击率的区别:n 吞吐率:指服务器每秒处理的数据量n 点击率:指客户端每秒向服务器提交的HTTP请求数。(7) 资源利用率指在不同的系统资源的使用程度,包括Web服务器、操作系统、数据库服务器、网路、硬件等,是测试和分析瓶颈的主要参数v 如:服务器CPU利用率、磁盘利用率等v 它是分析系统性能指标进而改善性能的主要依据,因此是Web性能测试工作的重点。LR常用语四、性能测试类型(1) 负载测试通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试(2) 压力测试逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,并以此来获得系统能提供的最大服务级别的测试。v 例如:测试一个Web站点在最大的负载下,系统的事务响应时间何时会变得不可接受或事务不能正常执行。u 二者区别:n 负载测试强调系统正常工作情况下的性能指标n 压力测试的目的是发现在什么条件下系统的性能变得不可接受,发现应用程序性能下降的拐点。(3) 基准测试(Benchmark Testing)指测试环境确定以后,对业务模型中涉及的重要业务做单独的测试。v 目的是获取单用户执行时的各项性能指标,为多用户并发和综合场景等性能测试分析提供参考依据。(4) 递增测试指每隔一定时间段(如5秒、10秒)加载不同数目的虚拟用户执行测试点操作,对测试点进行递增用户压力加载测试(5) 综合场景测试通过对系统结构和功能的分析,对用户的分布和使用频率的分析,来构造系统综合场景的测试模型,模拟不同用户执行不同操作v 如10%的用户执行浏览首页,50%的用户执行查询订单,40%的用户执行订购机票,最大限度地模拟系统的真实场景,使用户预知系统投入使用后的性能水平。(6) 容量测试指在一定的软件、硬件及网络环境下,在数据库中构造不同数量级别的数据记录,运行一种或是多种业务在一定虚拟用户数量的情况下,获取不同数量基本的性能指标,以确定数据库的最佳容量和最大容量。v 容量测试不仅可以对数据库进行,还可以对硬件处理能力,各种服务的连接能力等进行,以此来测试系统在不同容量级别下能否达到知指定的性能。(7) 配置测试指在不同的软件、硬件及网络环境配置下,运行一种戒是多种业务,在一定的虚拟用户数量情况下,获得不同配置的性能指标,用于选择最佳的设备及参数配置五、Load Runner 三大组件虚拟用户脚本生成器:录制、编辑测试脚本压力调度控制台:创建、监控场景、收集测试数据压力结果分析器:生成测试报告Virtual User Generator6、 虚拟用户脚本生成器(Virtual User Generator)主要是模拟用户行为:先通过录制或开发完成对单个用户行为的模拟,然后通过参数化等功能来实现多个用户间的行为差异化如果是录制用户行为,则通常会在脚本中创建用户事务和集合点,经过调试确定脚本运行正确后,再将其放到Controller中创建测试场景选择协议:New Single Protocol Script 建立只使用一个协议的Vuser脚本New Multple Protocol Script 创建使用多个协议的Vuser脚本New Script Recent Protocols 列出最近创建脚本所用到的协议2.选择协议要重点考虑使用的开发技术软件的类型使用的编程语言使用的数据库4.Start Recording中不勾选Record the application startup,开始录制代码5.浏览器的原理当用户访问某个HTML文件时,浏览器首先获得该HTML文件,然后进行语法分析6. LoadRunner录制原理:自动监控指定的URL或应用程序所发出的请求及服务器返回的相应-录制的时候,记录了客户端和服务器间的会话回放的时候,模拟客户端的请求,捕获服务器的响应录制脚本:1.在任务窗口中的录制下方,单击录制应用程序;单击说明窗口底部的开始录制,在开始录制对话框中的URL地址框中,输入:http:/ 在录制到操作框中选择Action。点击确定。会打开一个新的web浏览器窗口,并打开浮动正在录制工具栏2.登录到网站进行相关的操作。例如:1.在WebTours主页中,输入Username Password之后,单击login2.输入航班详细信息点击Flight 。这时将打开 Find Flight (查找航班)页面:? Departure City (出发城市):Denver (丹佛,默认值)? Departure Date (出发日期):保持默认值(当前日期)? Arrival City (到达城市):Los Angeles (洛杉矶)? Return Date (返回日期):保持默认值(第二天的日期)请保持其余选项的默认设置不变并单击 Continue (继续)。将打开“Find Flight(查找航班)”(航班选择)页面3.选择航班单击Continue接受默认行航班选择,Payment details页面打开4.输入支付信息并预定机票在Credit Card 框中输入12345678,并在Exp Date框中输入01/10,单击Continue,这时将打开Invoice页面,显示您的发票。5.单击左窗格中的 itinerary 。这时将打开 Itinerary 页面。6.单击左窗格中的 Sign Off 。7.在浮动工具栏上单击停止以停止录制。8.保存,在文件名框中输入 basic_tutorial 并单击保存。如何查看脚本:可以在VuGen中查看已录制的脚本,可以在树视图或脚本视图中查看。树视图:选择树视图树视图或单击工具栏上的树按钮,对于录制期间执行的每个步骤,在脚本树中为其生成一个图标一个标题脚本视图:是一种基于文本的视图,以API函数的形式列出Vuser的操作。视图脚本视图,或单击工具栏上的脚本按钮评测业务流程在负载测试的准备阶段,可以使用LR改进脚本,更加真实地反映实际情况事务-评测业务流程您需要估计特定业务流程的持续时间-登陆、预定机票等要花费多少时间。这些业务流程通常由脚本中的一个或多个步骤或操作组成插入事务Loadrunner要战争某个功能承受压力的能力,用事物来界定该功能在程序中的位置1.打开事务创建向导确保任务窗格出现。在任务窗格中的增强功能下方,单击事务一般默认情况:LR_AUTOlr_start_transaction();/* 中间代码是具体事务的操作*/lr_end_transaction(,LR_AUTO)创建多个Action1为何创建多Action先划分Action,在录制脚本 注意Action名称不能为中文Action的操作a.Action重命名,选中Action,在右键菜单中点击Rename Actionb.新建Action,在右键菜单中点击 Create New Actionc.导入Action的操作 Action Import Action into Vuser2运行脚本文件时,Action运行的顺序,可以在Run-time SettingsGeneralRun Login中,通过Move up 和Move down来设置删除Action 点击右键delete7.协议类型1.应用程序部署解决方案:Citrix_ICA2.客户端/服务器:DB2 CLI、DNS、Informix、MS SQLserver、ODBC、Oracle(2层)、Sybase Ctlib、sybase Dblib 和Windows Sockets协议3.自定义:C模板、Visual Basic 模板、JAVA模板、JavaScriptT和VBScript类型的脚本4.分布式组件:适用于COM/DCOM、Corba-Java和Rmi-Java协议5.电子商务:FTP、LDAP、Palm、PeopleSoft 8 mulit-lingual、SOAP、Web(HTTPHTML)和双WebMinSock协议6.Enterpise Java Baen:EJB测试和Rmi-Java协议7.ERP/CRM:Baan、Oracle NCA、Peoplesoft-Tuxedo、SAP-Web、SAPGUI、Siebel-DB2 CLI、Siebel-MSSQL、Siebel-Web和Siebel-Oracle协议8.传统:终端仿真(RTE)银行9.邮件服务:Internet邮件访问协议(IMAP)、Ms Exchange(MAPI)、POP3和SMTP10.中间件:Jacada和Tuxedo(6、7)协议11.流数据:Media Player(MMS)和Real协议12.无线:i-Mode、VoiceXML和WAP协议8.TASK模式适合初学者,根据提示一步一步进行操作9. Recording Options(Tools-Recording Options.)(1)General Script(脚本) Protocols(协议) Recording(录制):分为HTML-based Script(默认)、URl-based Script两种录制方式(2)NetWork Port Maping(端口映射)(3)HTTP Properties Advanced(高级) Correlation(关联):10. Run-Time Setting(Vuser -Run-Time Setting)(1)General Run Logic(可以设置迭代,只有Action发生变化,int、end只有一次):用来设置Action部分重复运行几次;较常使用 Pacing(新阶段的设置):用来设置以怎样的一种方式开始下一次反复 Log(日志的设置:标准日志、扩展日志(每次迭代的参数值):设置是否启用日志;较常使用 Think Time(思考时间):关于脚本中的Think Time的设置;较常使用 Additional attributes Miscellaneous(错误的处理):配置其他运行时设置Error HandingContinue on error:如果运行时出现错误,不会因为错误而停止,将继续执行脚本,保证脚本整个运行过程的完整性Fail open transactions on lr_error_message运行时出现错误,将会在事先脚本中插入的lr_error_message函数中显示出错误,需要与一些函数进行配合使用Generate snapshot on error如果运行出现错误,会根据错误的级别将错误界面形成快照记录下来,结束运行后,可以打开错误窗口进行查看Multithreading分有:多进程(场景运行时会为每个Vuser创建一个进程)、多线程(将每个Vuser作为一个线程来运行,效率高,默认显示)(2)Network Speed Simulation(带宽):用来模拟网速(3)Browser Browser Emulation(浏览器设置):设置浏览器仿真属性(4)Internet Protocol Proxy:设置代理 Preference Download Filters ContentCheck(检查)回放:Run -time settings(Vuser-run -time Settings)回放的方式有两种:动态回放(View-Animated run) 、静态回放运行迭代数为2;步设置为random;日志选择为扩展日志并输出参数。实时回放观察图像Tools-geanerd options Display show -实时观察图像查看Results(View-Test Results)通过筛选器可以选出满足你设置的条件的结果脚本录制的基本原则充分考虑脚本的执行效率;录制重要的用户业务(录制常用的、使用频率较高的业务);选择你所需要的进行录制;录制前对参数进行正确的配置脚本录制的方式:Tools-Recording Options分为:HTML-base Script、URL-base Script两种方式HTML-base Script:可以为每个用户请求生成单独函数URL-base Script:可以捕获所有作为用户操作的结果发送到服务器HTTPS请求数,然后一条条记录下来。HTML与URL区别:HTML:基于浏览器的应用程序,录制的脚本直观,易理解、维护URL:不急于浏览器的应用程序,生成的脚本较长、较多如果录制的脚本中存在JavaScript并对服务器发生请求、HTTPS则用URLHTML-base Script设置用来描述用户行为的脚本;仅包含明确的URL脚本关联LR自动关联1. 通过关联可以在测试中保持动态值2. 目的:优化或简化代码;用户动态数据一般步骤:从服务器返回的数据中选取需要进行关联的数据;将该数据存入脚本的一个参数中;将脚本中需要使用该数据的地方用参数来替换。注意:对于web来说,一般会用一个hidden的field存放对于Webtours中设置:选中Set Login froms Action tag to an error page进行自动关联:Tools-Recording Options Correlation增强脚本1. 事务:就是一系列操作的集合,插入事务是方便我们今后的分析2. 参数化:为了更加真实的模拟实际用户操作而设置的Controller可以从一个单一的控制点,简单有效地控制所有的Vuser2.创建运行场景(创建手动、面向目标两种方式):(1)创建手动:通过创建并指定脚本、负载生成器和每个组中包括的Vuser数,可以生成手动方案。也可通过%模式,定义要在方案中使用的Vuser的总数,并为每个脚本分配负载生成器和占总数一定的百分比的Vuser。注意:持续时间设置将覆盖Vuser迭代设置;Vuser组设置不适用于%模式(2)面向目标:可以定义您希望实现的测试目标,根据定义的目标自动创建一个方案;可以定义:虚拟用户数、每秒点击次数(仅Web Vuser)、每秒事务数、每分钟页面数(仅Web Vuser)或方案的事务响应时间。使用”编辑方案目标”对话框可以对方案目标进行定义。注意:要定义每秒事务数或事务响应时间目标类型,脚本中必包含事务。3.方案设置(设置方案在达到目标后继续运行的时间长度,以及方案无法达到目标时是否继续)达到目标后再运行:设置方案在达到目标后继续运行的实际长度如果无法达到目标:有两个选项停止方案并保存结果:若无法达到您定义的目标,指示Controller停止方案并保存方案结果继续运行方案,无需达到目标:指示Controller继续运行方案,及时无法达到设定的目标4.运行方案运行方案时,会为Vuser组分配负载生成器并执行他们的Vuse脚本。Run-Scenario-Load Generators记录在Vuser脚本中定义的事务持续时间;执行包括在Vuser脚本中的集合;收集Vuser生成的错误、警告和通知消息在方案运行时,可以监视每个Vuser、查看由Vuser生成的错误、警告和通知消息以及停止Vuser组和各个Vuser。可以指示LR允许单个Vuser或组中的Vuser在停止前完成他们正在运行的迭代、在停止前完成它们正在运行的操作或立即停止运行5. Result-Setting设置(Result-result setting)建议results name命名方式:场景运行时间_脚本名称_虚拟用户数_场景持续时间性能监视器:关于系统资源监视影响事务响应时间的一个主要因素是系统资源使用率。Loadrunner资源监视器,在监视资源的同时还可以确定特定计算机上为何出现瓶颈Analysis一、Analysis 作用:有助于确定系统性能瓶颈,并可以将多个数据图合并成一个图,对多个图进行比较,从而找出数据间的联系;可以将图数据原始数据以电子表格格式显示用于生成图的实际数据,可以复制到外部电子表格应用程序,可以将报告创建成word形式,会自动以图形或表格格式总结和显示测试的重要数据1.Analysis将活动图的显示信息和布局设置存储在扩展名为.lra的文件中;方案执行后,这些结果会自动进行整理或合并,将所有的主机的结果传输到结果目录中,通过在Controller窗口中,选择Results-Auto Collate Results2.Analysis提供以下报告工具:摘要报告:提供有关方案运行的一般信息Summary,可以随时查看摘要报告HTML报告:可以创建HTML报告,Analysis将为每个打开的图创建HTML报告事务报告:提供有关Vuser脚本中定义的事务的性能信息。这些报告为提供结果的统计信息细分,并可以打印和导出数据。Analysis分析基础:1. 查看Summary。主要是虚拟用户数和事务2. 查看负载生成器和服务器的系统资源情况。如:CPU、内存等。往往内存的泄露表现在CPU利用率过高3. 查看虚拟用户和事务4. 查看错误发生情况5. 查看Web资源和细分网页二、Analysis报告概要(Summary)Analysis summary1.概要部分a.Scenario Name(场景名字):场景的名字,如果是保存过的场景,那么将会显示场景的保存路径b.Result in Session (结果文件):结果文件的名字,显示结果文件的路径c.Duration(运行时间):本场景总共运行的时间,如果脚本中有Think time ,这里的运行时间将包括Think time2. 统计部分Maximum Running Vusers(最大同时运行用户数):因为LR有加载时间和延迟时间,这个数字通常比在场景中设置的并发用户数小。Total Throughput (bytes)(网络流量):即场景运行过程中产生的全部网络流量。单位是字节Average Throughput (bytes/second)(网络流率):即平均网络流率,单位是字节/秒Total Hites(总请求数):场景运行过程中,发生的Http请求总数Average Hits per Second(平均每秒请求数):即为总请求数除以运行时间的值View HTTP Responses Summary(查看HTTP响应的Summary)这是一个连接,指向一个页面标记3. 事务统计Transaction(事务):所有Transaction的相应时间都列在这里Minimum:执行此Transaction的最小时间,也是最快时间Average:平均时间,是所有Transaction消耗时间的算术平均值Maximum:执行此Transaction的最大时间,也就是最慢的。

温馨提示

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

评论

0/150

提交评论