XXX项目性能测试报告模板详解_第1页
XXX项目性能测试报告模板详解_第2页
XXX项目性能测试报告模板详解_第3页
XXX项目性能测试报告模板详解_第4页
XXX项目性能测试报告模板详解_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

项目名称系统项目名称性能测试分析报告北京XXXX信息技术有限公司2013年XX月XX日目录TOC\o"1-5"\h\z\o"CurrentDocument"测试背景 1\o"CurrentDocument"测试目标 1\o"CurrentDocument"测试时间 1\o"CurrentDocument"测试地点 1\o"CurrentDocument"测试人员 1测试方法简介 1\o"CurrentDocument"测试环境 3\o"CurrentDocument"被测系统 3硬件环境 3\o"CurrentDocument"数据库环境 4软件环境 4\o"CurrentDocument"测试系统 4\o"CurrentDocument"测试环境搭建 4\o"CurrentDocument"测试软件 4\o"CurrentDocument"测试设计 5模拟用户数 5测试模型建立 5\o"CurrentDocument"测试结果分析 6\o"CurrentDocument"业务场景一XXX测试分析 6\o"CurrentDocument"平均响应时间梯度对比 6\o"CurrentDocument"系统资源利用率 7\o"CurrentDocument"系统处理能力 8\o"CurrentDocument"业务场景XXX测试分析 8\o"CurrentDocument"平均响应时间对比 8\o"CurrentDocument"处理能力对比 9\o"CurrentDocument"资源利用率对比图 9系统稳定性测 10有、无合同场景对比测 11\o"CurrentDocument"响应时间分析 11\o"CurrentDocument"处理能力对比图 12\o"CurrentDocument"资源利用率对比图 13业务场景二调优对比测 13\o"CurrentDocument"第一次调优 14\o"CurrentDocument"第二次调优 15第三次调优 16\o"CurrentDocument"测试结论 17\o"CurrentDocument"业务场景一(无合同) 17\o"CurrentDocument"业务场景二(有合同) 18\o"CurrentDocument"稳定性 18\o"CurrentDocument"调优建议 181测试背景1.1测试目标对XX公司XX系统进行性能测试,客观、公正评估系统的性能现状。1、开发正确有效的性能测试脚本,模拟最终用户操作行为,作为测试有效实施的基础;2、通过性能测试,客观、公正评估在当前测试环境下,被测系统的各项性能指标表现;3、验证被测系统的业务处理能力是否能够满足在业务高峰期的性能要求,为被测系统上线提供参考依据。如不满足,对性能瓶颈进行定位分析,提供性能调优建议。1.2测试时间此处编写测试执行的开始时间至结束时间。例如:测试自2013年xx月xx日启动,至xx月xx日测试执行结束。1.3测试地点此处列明测试执行的所在办公地点大厦**座**楼层1.4测试人员单位姓名备注北京xxxx信息****古术有限公司****压力测试采用业界成熟的自动化性能测试工具,通过创建压力测试程序、构建压力测试模型,对被测试系统实施自动化压力测试,最后形成压力测试结果分析报告。1)压力测试实施模型:通过自动化测试工具模拟最终用户向服务器发起业务请求,进行性能测试。通过测试工具对测试过程中系统各点进行监控,每一次测试结束后工具自动采集测试结果并生成原始报告供分析使用。

2•模拟大量的真实用户生成压力被测系统虚拟用户生成器控制器5产生性能分析报告1111性能监扌3•监控器实时捕获系统的性能状态1.Controlle起到调度压力测试并管理监控器2•模拟大量的真实用户生成压力被测系统虚拟用户生成器控制器5产生性能分析报告1111性能监扌3•监控器实时捕获系统的性能状态1.Controlle起到调度压力测试并管理监控器4•测试结果被搜集及保存起来供分析服务器**'应用服据库服务^器2)压力测试实施基本流程:•测试环境准备系统性能压力测试环境要求与生产系统的软、硬件环境保持一致,并具有相同规模的业务数据,并保证软件版本与生产环境保持一致。压力模型定义:此次性能测试的用例选择,按照****公司提供的业务数据进行分析抽取,用例选取是性能测试压力模型设计的首要任务。用例选取的原则是:1) 典型的交易和业务流程2) 用户操作使用频繁3) 对系统性能影响较大4) 性能测试压力符合业务系统实际的实际交易发生比例实际执行场景的设置尽量模拟实际业务进行,运行时长,操作间隔(思考时间),循环间隔,并发间隔,用户加载和减压时间根据系统基准测试结果进行判断和设置。测试数据准备:测试数据要求尽量模拟真实业务数据,而且具有一定可重用性。能贯穿各相关系统,保证业务流程的顺畅正确。具体的数据类型和数据量需要根据选择的交易类别或性能测试场景设置而定。此外性能测试会产生大量的虚拟用户,需要消耗大量的测试数据。其数量直接关乎测试结果。测试中所需的基本数据类型为:系统用户数据:登陆系统使用的用户名-口令等,数量与虚拟用户数一致。业务数据:每个虚拟用户模拟真实用户进行操作时使用到的数据。辅助数据:为保证业务操作的正常进行而设置的基本信息资料。•测试程序开发:利用在历史数据收集步骤中所获得的典型用户的系统访问模式,做为测试程序开发的依据。该测试程序应该覆盖典型用户的系统访问模式所涉及的操作。脚本的开发是利用LoadRunnerVugen进行脚本录制,开发,参数化,调试的过程。•测试执行:测试准备阶段完毕后,确保测试环境、测试程序、测试过程、测试数据,且均已验证通过后,然后在指定的时间内可对系统施实性能测试,性能测试执行分为两个阶段:1、 性能基准测试:系统在轻负载环境下,模拟各业务的单用户交易,评估当前系统的性能表现,并作为后续压力测试的性能比较基准;2、 单交易负载测试:3、 负载压力测试:仿真现实,模拟大批量并发业务交易,评估系统在高负载情况下系统的性能表现。•测试结果分析报告:压力测试结果经过确认有效后,将汇总压力测试结果,形成最终的性能测试分析报告。3测试环境3.1被测系统3・1・1硬件环境系统IP地址所在主机配置备注CPU:Win2003Server应用服务器内存硬盘CPU:Win2003Server数据库服务器内存硬盘3・1・2数据库环境使用生成的6800万条数据。此处编写数据库的整体环境也可以,没有数据库环境,则写无。3・1・3软件环境类型应用及版本号备注应用服务器Weblogic8.1数据库Oracle9i3.2测试系统3.2.1测试环境搭建测试机配置:类型数量(台)IP配置备注控制台1192.168.3.129IntelE46002.4GHzWin2003Server内存2G/硬盘400G7200转负载发9192.168.3.130~IntelE46002.4GHzWin2003Server生器192.168.3.138内存1G/硬盘400G7200转3.2.2测试软件采用MercuryInteractive公司的LoadRunner测试及分析软件作为测试工具。LoadRunner简介:LoadRunner是一种预测系统行为和性能的工业标准级负载测试工具。在LoadRunner的帮助下,用户可以以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题。LoadRunner能够对整个企业架构进行测试,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助用户更快的查找和发现问题。此外,LoadRunner能支持广泛的协议和技术,可以为用户的特殊环境提供特殊的解决方案。本次测试采用的LoadRunner版本为11.0。4测试设计4.1模拟用户数依据系统目前的业务量以及未来业务量增长,对当前系统分别按3000、4500、6000用户进行压力测试,以评估系统在不同压力梯度情况下的性能表现。4.2测试模型建立此次性能测试的业务选择,应覆盖各性能关键业务,并通过****公司、北京***公司双方协商选取被测业务。根据协商选定如下业务进行性能测试:开具发票此处编写性能测试的测试用例,包括了场景的描述以及其他用例细节以此基础上定义测试执行压力模型:在混合业务场景压力梯度测试过程中,分别按3000、4500、6000用户进行压力测试,在各个压力测试过程中保持测试场景和调度测试的完全一致,使结果具有很好的可比性。压力测试执行场景描述如下:1、 模拟用户数:3000、4500、60002、 Pacing:120秒;3、 当所有用户加载完毕后连续运行15分钟;4、 用户调度策略:每1秒启动30个虚拟用户。业务场景一序号交易业务配比执行时间操作间隔1开具发票100%15分钟120秒业务场景二序号交易业务配比执行时间操作间隔1开具发票(无合同)85%15分钟120秒2开具发票(有合同)15%

说明:按照以上场景设置,可估算出模拟用户数与每小时业务量的对应关系如下:模拟用户数3000模拟用户数3000每小时业务量90000450060001350001800005测试结果分析说明:术语解释◊(事务)一LoadRunner中定义,为一个流程中某个环节的称谓,一个流程可称为一个大的事务,在这个大的交易中包含许多的小的事务。◊响应时间一LoadRunner中衡量流程中各个事务性能的最佳手段,计算的是端到端的时间,说的通俗一点,从点击应用中的某个控件,到从数据库返回数据到客户端,整个过程都被计算在事务的响应时间内。◊场景一LoadRunner中专门术语。它是所有测试资源包括测试脚本、运行设置、运行用户数等的集合。在这个场景中,可以定义并发用户的数目,定义要运行的脚本,或者说运行的流程类型。在一个场景中,可以是单个流程,也可以是多个流程的混◊虚拟用户一LoadRunner中特定术语,为模拟现实中的实际用户,测试软件使用虚拟用户代替真实的用户。5.1业务场景一加测试分析此处用简明扼要的几个字或一句话概括执行用的用例场景i相当于是给测试用例取一个比较形象的名字。5.1・1平均响应时间梯度对比下图是不同用户数下各事务的平均响应时间随用户数变化的曲线:3000用户 3000用户 4500用户 6000用户—登录—开具发票录入并开具事务3000用户4500用户6000用户登录0.561.3122.14开具发票0.240.872.08录入并开具0.431.0982.70平均响应时间分析:从上图中可以看出,各操作的响应时间随着用户数的增加呈上升趋势,但都没有超过5秒,在可接受范围内。5.1.2系统资源利用率CPU利用率CPU利用率(%)—CPU利用率(%)CPU利用率分析:在上图中我们可以看出3000用户、4500用户及6000用户时,CPU利用率均在正常范围内,系统表现良好。

5.1.3系统处理能力TPS系统处理能力分析:可以看出,在无基础数据的情况下,系统处理能力随用户数的增加呈线性上升趋势,即系统无性能瓶颈,6000用户时系统处理能力达到每小时173880笔,满足并超出客户提出的4小时20万张发票的处理能力。5.2业务场景XXX测试分析序号用户数每小时业务量基础数据量16000180000无26000126000大于1800万5.2.1平均响应时间对比下图是不同压力情况下,有基础数据与无基础数据各操作响应时间对比图:响应时间对比图45004500用户(无基础数据)4500用户(有基础数据)6000用户(无基础数据)口6000用户(有基础数据)登录 开具发票 录入并开具

平均响应时间分析:同样压力的情况下,在无基础数据的情况下,响应时间均小于5秒。当基础数据量在1800万的时候,6000用户压力下响应时间大幅度提高,超过客户所提出5秒之内的要求。5.2.2处理能力对比下图是相同压力情况下,有基础数据与无基础数据系统的处理能力对比。TPS对比图6000用户(无基础数据)6000用户(有基础数据)TPS对比图6000用户(无基础数据)6000用户(有基础数据)TPS处理能力分析:在有基础数据的情况下,单从处理能力看,依然可以满足客户所提出的要求,但与之前的无基础数据的处理能力比较发现,基础数据的存在是对处理能力有较大影响。5.2.3资源利用率对比图下图是相同压力情况下,有基础数据与无基础数据各事务资源利用率对比图:CPU利用率对比图6000用户(无基础数据)6000用户(有基础数据)CPU利用率对比图6000用户(无基础数据)6000用户(有基础数据)■CPUCPU利用率分析:相同压力下,因有基础数据情况下响应时间变长,系统处理能力下降,CPU利用率也随之下降,这说明系统瓶颈出现在了其他方面。

系统稳定性测试如果系统做了稳定性测试,则此处对稳定性测试进行分析和描述如果没有可以去掉在系统测试过程中,我们发现WebLogic的JVM可用内存逐渐减少,下图是在WebLogic监控台所监控到的情况:吞吐量:吞吐量:队列己经处理的请求数队列中的等待请求数°JVM堆中当前可用的內存童(字节为了验证确认此现象,进行了4500用户6个小时的测试,当测试执行到1小时左右,WebLogicJVM基本已无内存可用,如下图所示:队列己经处理的请求数。趴列长度:趴列长度:队列中的等待请求数°内有懂州率:内有懂州率:IXIC6 00:17AveiiiiieTEaiiSiiiiaio-nRespondTime0025 IM触 IXIC6 00:17AveiiiiieTEaiiSiiiiaio-nRespondTime0025 IM触 DCtfl2 CG51Elapsedscenariotimehhmm00:5901 Diifi D1:Q5DQLID被占用内存无法释放,导致被测系统在长时间运行后响应时间明显上升,处理能力明显下降,如下图所示:95-90・es-?5-7065E0-5550-A5-40・3530252015105-0^分析:用户在登录时,系统会自动生成一个session,并占用部分内存,而这个session的过期时间设置为2小时,按照用户习惯分析,当用户使用直接关闭IE窗口退出系统的方式退出,这个session是不释放的,并继续占用内存。测试过程中没有做退出操作,导致大量用户session不释放。根据上图显示,40分钟时性能开始下降,此时在线用户数约为37.5*60*40=90000。解决方法:开发人员修改程序,点击重新登录时清除session,并在测试过程中,完成开具发票操作后就点击重新登录。重新执行测试后,此现象消失。有、无合同场景对比测试对于多业务操作情况下的性能测试可以参考此处模式进行结果分如果当前测试没有多业务操作,则去掉该处。在测试过程中,用户提出部分用户需要在开具发票是选择合同,因此设计以下场景进行测试。序号交易业务配比执行时间1开具发票(无合同)85%15分钟2开具发票(有合同)15%5.4.1响应时间分析在4500用户压力下,各操作响应时间如下:

业务操作平均响应时间(秒)有合同—登录6.07有合同—开具发票37.83有合同—录入并开具6.38有合同—退出3.85有合同—选择合同34.96无合同—登录6.27无合同—开具发票4.45无合同—录入并开具6.18无合同—退出3.84说明:此时有合同的开具发票、选择合同操作的响应时间已远远超过5秒,其它大部分操作响应时间也超过了5秒。5.4.2处理能力对比图下图是无合同4500用户与有合同4500用户情况下系统处理能力对比图:TPS对比图无合同有合同TPSTPS对比图无合同有合同TPS分析:此时系统处理能力仍然满足4小时20万张发票的要求,但因响应时间过长,认为系统性能不满足要求。5.4.3资源利用率对比图CPU利用率对比图无合同有合同■CPUCPU利用率对比图无合同有合同■CPU资源利用率分析:因响应时间过长,出现大量的队列等待,导致CPU利用率下降。业务场景二调优对比测试对于一个出现了瓶颈的地方除保留第一次测试结果外,第二次调优的测试结果也要列明在测试报告中,编写方式参考此处,如果本次测试没有调优对比,可以去除。现象:有合同“开具发票”“选择合同”操作的响应时间过长。通过数据库监控可以看到,数据库的读操作过于频繁,dbfilesequentialread等待事件占总等待时间的92%以上。分析:经过对系统的监控,分析得出几点对系统性能可能造成影响的原因:1、业务逻辑a) 在进入开具发票页面时,系统就加载了全部合同信息,导致“开具发票”操作响应时间过长;b) 查询合同信息业务逻辑有问题,导致“选择合同”操作响应时间过长;从数据库监控中看到,以下两个SQL的DiskReads最大:SELECT*FROMHI_BARGAINWHERESKZZH=:1ANDBG_STATE£常'SELECTIV_AMOUNTFROMHI_INVOICEWHEREBG_CODE=:1AND(IV_STATE='正常'orIV_STATE='冲红')ANDIV_STATE_2='正常’经开发人员确认,这两个SQL是查询合同信息使用的SQL。2、系统参数WebLogic线程数设置过小;Oracle的sharedpool、buffercache设置过小。我们对各原因分别进行优化后进行测试,最终进行了以下调整:1、 调整shardpool为104MB2、 调整buffercache为504MB3、 调整查询合同信息业务逻辑4、 修改weblogic线程数为150调优结果见以下分析。5.5.1第一次调优首先修改业务逻辑,在进入开具发票页面时不加载合同信息。然后修改数据库参数,修改shardpool为104M、修改buffercache为504M。下图是4500用户调优前后响应时间对比图:事务名称平均响应时间(调优前)平均响应时间(调优后)合同—登录6.071.2合同—开具发票37.831.283合同—录入并开具6.381.378合同—退出3.850.232合同—选择合同34.960.483开票—登录6.271.215开票—开具发票4.450.568开票—录入并开具6.181.492开票—退出3.840.2694500用户响应时间对比图403530254035302520151050□4500用户(调优前)□4500用户登录票

具发

开、j退出\合同选择合登录票具发开、之登录票

具发

开、j退出\合同选择合登录票具发开、之退出在图中我们可以看出调优前后,在相同压力的情况下,响应时间大幅度下降。调优效果明显,已满足响应时间小于5秒的业务要求。此时系统处理能力也有明显的提升。系统处理能力□TPS□TPS5.5.2第二次调优由于此时WebLogic线程经常出现队列,因此将WebLogic线程最大值由100调整为150。调整后系统处理能力由36.004上升为37.394。但由于此时系统处理能力已接近场景设计最大值,因此效果不明显,需要进行一次6000用户的对比测试。

7654321退出4500用户6000用户登录宜合同合』票「发票并具录入并合同7654321退出4500用户6000用户登录宜合同合』票「发票并具录入并合同退出合同合同登录

选择合票登

选开票

合同 开合 开开^票发票并

录入并亜票开票系统处理能力4500用户 6000用户TPS6000用户时,响应时间明显变长,部分操作已超过5秒,而系统处理能力也有明显的下降,因此系统仍然存在性能瓶颈。5.5.3第三次调优此时主要的优化方向为优化业务逻辑,因此测试人员提出建议,将查询合同信息的两个SQL合并为一个SQL,这样能够减少大量的查询次数,降低数据库压力。开发人员将此业务逻辑优化后,进行了一次6000用户的对比测试,结果如下:765432106000用户(调优前)6000用户(调优后)765432106000用户(调优前)6000用户(调优后)登录合同_门开具合同合同_退

同_人同_'择合同登选择开票-开开"孑具发

温馨提示

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

评论

0/150

提交评论