《Loadrunner性能测试基础培训.ppt》由会员分享,可在线阅读,更多相关《Loadrunner性能测试基础培训.ppt(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Loadrunner性能测试一。性能测试理论一。性能测试理论l性能测试概述l不同角度体现性能测试l影响性能测试因素l性能测试分类l常见的性能测试工具介绍软件性能测试概述软件性能测试的目的:软件性能测试的目的:为了验证系统是否达到用户提出性能指标,同时发现系统中存在的性能瓶颈,起到优化系统的作用。软件性能测试的基本概念:软件性能测试的基本概念:性能是一种指标,性能是软件产品的一种特性,可以用时间来进行度量。性能测试表明软件系统或构件对于其及时性要求的符合程度;其次即检查实际软件的时间性能和空间性能等是否符合用户的需求。时间性能:软件的一个具体事务的响应时间。空间性能:软件运行时所消耗的系统资源。
2、l不同视角的软件性能体现1)用户视角:响应时间2)系统视角:并发用户数量用户操作模式(每秒点击数)3)调优视角:服务器资源情况应用服务器资源情况数据库资源情况应用时间消耗分布影响性能测试的因素:影响性能测试的因素:l用户:数目、类型、思考时间、访问次数、点击数;l会话:每个会话页面大小,使用时间长度;l并发问题:缓存交换任务优先级;l吞吐量;l每个请求的逻辑处理;l应用体系架构设计、软件性能;l客户端速度;本地网络速度;l网络的吞吐量和服务器本地网络速度;l服务器响应时间、服务器硬件速度、分布模式、系统配置、安全等待的配置性能测试的分类性能测试的分类l性能测试(PerformanceTesti
3、ng)通过模拟生产运行的业务压力量和使用场景组合测试系统的性能是否满足生产性能要求。如以实际投产结构测试,求出最大的吞吐量与最佳回应时间以保证上线的平稳,安全等l负载测试(LoadTesting)通过在被测系统上不断增加压力,直到性能指标例如响应时间超过预定指标或者某种资源已经达到饱和状态。这种测试可以找到系统的处理极限,为系统调优提供数据。l压力测试(StressTesting)测试系统在一定饱和状态下,例如CPU、内存在饱和使用饱和情况下,系统能够处理的会话能力,以及系统是否会出现错误。l配置测试(ConfigurationTesting)通过测试找到系统各项资源的最优分配原则。l并发测试
4、(ConcurrencyTesting)测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题。l容量测试(VolumeTesting):测试系统能够处理的最大会话能力,确定系统可同时处理的在线最大数量;l可靠性测试(Reliabilitytesting)通过给系统加载一定的业务压力(例如资源在70-90%的使用率)的情况下,运行一段时间。l大数据量测试:针对一些数据储存,传输,统计,查询等业务进行大数据量的独立数据数据量测试;常见性能测试工具:常见性能测试工具:性能测试工具很多,通常比较常用的就是以下几种:lNetperf:是一种针对网络性能的测量工具,Netp
5、erf工具以client/server方式工作,主要针对基于TCP或UDP的传输。Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulkdatatransfer)模式和请求/应答(request/reponse)模式。Netperf测试结果所反映的是一个系统能够以多快的速度向另外一个系统发送数据,以及另外一个系统能够以多快的速度接收数据。lHttperf:是一个web服务器的性能测试工具,主要做负载和压力的测试工具,Httperf提供了灵活的生成各种HTTP负载来测试服务器的性能,提供可靠、高性能的工具,支持HTTP/1.1和SSL。一般都是用httperf+a
6、utobench进行性能测试;lSiege(类似apache_ab):是一个压力测试和评测工具,设计用于WEB开发这评估应用在压力下的承受能力:可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。lWebbench:是一款压力性能测试工具,它最多可以模拟3万个并发连接去测试网站的负载能力,安装使用也特别方便。webbench不但可以测试准静态页面,也可以对动态页面(ASP,PHP,JAVA,CGI)进行测试的能力。同时他还支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试。特殊说明一下该工具只适用系统:Linu
7、x环境安装lApacheJMeter:是一款开源的性能测试工具,是可以对利用HTTP或FTP服务器的应用程序进行测试的工具。它是基于Java的,通过所提供的API它还具有高度可扩展性。(开源的)lLoadRunner:是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。LoadRunner,是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。Loadrunner软件性能测试
8、lLoadrunner组件lLoadrunner的工具原理lLoadrunner的主要功能lLoadrunner的协议lVugen录制脚本Loadrunner组件loadrunner主要有四部分组成:VuGen(虚拟用户生成器)Controller(控制器)LoadGenerator(负载生成器)Analysis(事物分析器)lVuGen(虚拟用户生成器)用于捕获最终用户业务流程和创建自动性能测试脚本(也称为虚拟用户脚本)。1.选择协议(单协议或者多协议)2.录制方式选择http或者URL方式录制(针对web方向,http协议)3.根据业务流程来进行录制和编辑脚本(添加事物,检查点,集合点等等
9、);lController(控制器)用于组织、驱动、管理和监控负载测试。1主要是根据业务来模拟用户使用场景;2监控系统资源;lLoadGenerator(负载生成器)用于通过运行虚拟用户生成负载。lAnalysis(分析器)有助于您查看、分析和比较性能结果。1查看summary。主要是虚拟用户数和事物;2查看负载生成器和服务器的系统资源情况;如cpu,内存等,往往内存的谢了的表现在菜谱利用率过高;3查看虚拟用户数和事物;4查看错误的发送情况;5查看web资源和细分网页;LoadRunner的基本结构的基本结构Loadrunner工具原理l代理(Proxy)是客户端和服务器端之间的中介人,Loa
10、dRunner就是通过代理方式截获客户端和服务器之间交互的数据流。l1、虚拟用户脚本生成器通过代理方式接收客户端发送的数据包,记录并将其转发给服务器端;接收到从服务器端返回的数据流,记录并返回给客户端。l这样服务器端和客户端都以为在一个真实运行环境中,虚拟脚本生成器能通过这种方式截获数据流;虚拟用户脚本生成器在截获数据流后对其进行了协议层上的处理,最终用脚本函数将数据流交互过程体现为我们容易看懂的脚本语句。l2、压力生成器则是根据脚本内容,产生实际的负载,扮演产生负载的角色。l3、用户代理是运行在负载机上的进程,该进程与产生负载压力的进程或是线程协作,接受调度系统的命令,调度产生负载压力的进程
11、或线程。l4、压力调度是根据用户的场景要求,设置各种不同脚本的虚拟用户数量,设置同步点等。l5、监控系统则可以对数据库、应用服务器、服务器的主要性能计数器进行监控。l6、压力结果分析工具是辅助测试结果分析。LoadRunner测试流程Loadrunner支持的协议支持的协议l应用程序部署解决方案:适用于Citrix协议。l客户端/服务器:适用于MSSQL、ODBC、Oracle2层、DB2CLI、SybaselCtlib、SybaseDblib、WindowsSockets和DNS协议。l自定义:适用于C模板、VisualBasic模板、Java模板、Javascript和lVBScript类
12、型的脚本。l分布式组件:适用于COM/DCOM、CORBA-Java和RMI-Java协议。l电子商务:适用于FTP、LDAP、Palm、Microsoft.NET、Webl(HTTP/HTML)、Web服务和双Web/Winsocket协议。lEnterprise Java Bean:适用于EJB测试和Rmi-Java协议。lERP/CRM:适用于OracleNCA、OracleWebApplications11i、lPeoplesoftEnterprise、Peoplesoft-Tuxedo、SAP-Web、SAPGUI、lSAPGUI/SAP-Web双协议和Siebel(Siebel-D
13、B2CLI、Siebel-MSSQL、lSiebel-Web和Siebel-Oracle)协议。l传统:适用于终端仿真(RTE)。l邮件服务:InternetMessaging(IMAP)、MSExchange(MAPI)、POP3和lSMTP。l中间件:Jacada和Tuxedo(6、7)协议。l流:适用于RealPlayer协议。l无线:适用于i-Mode、VoiceXML和WAP协议。Loadrunner常用的术语(一)常用的术语(一)l并发用户数量:与服务器进行交互的在线用户数量业务并发数用于模拟用户的真实负载情况(并发情况是对系统最大的考验)服务端的并发数表明软件在同一时刻收到了多少
14、用户请求l响应时间(TTLB):响应时间指的是从客户端发起一个请求开始,到客户端接收到从服务器端返回的响应结束,这个过程所耗费的时间。响应时间=网络响应时间+应用程序响应时间响应时间=(N1+N2+N3+N4)+(A1+A2+A3)Loadrunner常用的术语(二)常用的术语(二)l吞吐量(吞吐率):指的是单位时间内处理的客户端请求数量。通常情况下,吞吐量用请求数/秒或者页或者页面数/秒来衡量。从业务角度看,吞吐量也可以用访问人数/天或者页面访问量/天来衡量。(衡量网络性能的主要指标);lTPS:每秒钟系统能够处理的交易或事务的数量。它是衡量系统处理能力的重要指标。l点击率(每秒发送HTTP
15、请求的数量,点击率越大对sever的压力也就越大);l资源利用率:资源利用率指的是对不同系统资源的使用程度,例如服务器的CPU(s),内存,网络带宽等。资源利用率通常以占用最大值的百分比n%来衡量。三介绍三介绍Vugenl介绍vuserlVugen使用l录制测试脚本介绍介绍VuserlLoadrunner拥有各种vuser类型,每个类型都适合于特定的负载测试环境;用vuser精确模拟真实要业务场景的情形;vuser在方案中执行的操作是用vuser脚本来描述;lVuser脚本的结构和内容因vuser类型不同而不同;lVugen仅能录制win平台上的会话。但是vuser录制脚本既可以在win也可以
16、在liunx平台下运行;Vuser脚本介绍脚本介绍l下图概述了开发Vuser脚本的过程:使用使用VugenlVirtualUserGenerator(也称VuGen)是开发Vuser脚本的主要工具。lVuGen不仅录制Vuser脚本,它还运行Vuser脚本。使用VuGen运行脚本有助于进行调试。使用VuGen可模拟Vuser脚本在大型测试中的运行情况。l录制Vuser脚本时,VuGen会生成多个函数,用以定义录制会话期间所执行的操作。VuGen将这些函数插入到VuGen编辑器以创建基本Vuser脚本。lVuGen只能在Windows平台上录制Vuser脚本。但录制的Vuser脚本可在Windo
17、ws和UNIX平台上运行。录制测试脚本(一)录制测试脚本(一)l启动vugen:在VuGen起始页的脚本选项卡中,单击新建Vuser脚本。这时将打开“新建虚拟用户”对话框,显示“新建单协议脚本”选项。选择Web(HTTP/HTML)并单击创建,创建一个空白Web脚本。录制脚本(二)录制脚本(二)l空白脚本以VuGen的向导模式打开,同时左侧显示任务窗格。VuGen也会向导将指导您逐步完成创建脚本并使其适应测试环境的过程。录制脚本(三)录制脚本(三)l点击startrecord按钮,输入程序地址,开始进行录制;l在URL地址框中输入地址,以百度为例。l在录制到操作框中,选择Action。单击确定。l这时将打开一个新的Web浏览窗口并显示百度新页面;录制脚本(四)录制脚本(四)l这时将打开浮动的“正在录制”工具栏。ll打开百度首页。l在百度编辑框中输入要搜索的内容;l点击录制工具栏中的停止图标,停止录制过程。l点击保存录制脚本结束。l点击回放刚才录制的脚本;谢谢!