性能测试白皮书团队_第1页
性能测试白皮书团队_第2页
性能测试白皮书团队_第3页
性能测试白皮书团队_第4页
性能测试白皮书团队_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

序毕至,少长咸集。此地有系统框架,APIWeb应用,无线性能,分序 引 性能测试指 Vuser虚拟用 Transaction事 TPS每秒事务 PVPage PeakPVPage Concurrency并 Scenario场 ResponseTime响应时 ThinkTime思考时 CPU资 Load负 Std.Deviation标准 性能测试模 PV计算模 PV->TPS转换模 TPS波动模 共享中心性能测试模 前端页面性能测试模 性能测试策 性能测试评 关键业 日PV 逻辑复杂 运营推广计 其 性能测试类 性能测试压力变化模 性能测试类 性能测 负载测 压力测 稳定性测 性能测试执行方 单场 混合场 性能指 工 步 性能分 分析原 分析信息来 分析标 分析工 性能测试通过标 性能测试流 性能测试流程 性能测试流程主要活 性能测试文件模 结束 参考文 版本更新说 作者介 引系统框架性能测试、TOP-APIWeb应用性能测试,无线性能测试性能测试指标Vuser虚拟虚拟用户里。Vuser用于描述Vuser在场景中执行的操作。虚拟用户在性能场景中有以下12Down,Pending,Init,Ready,Running,Rendezous,Passed,Failed,Error,GradualExiting,Exiting,Stopped.1所示。Transaction事务2{finalItemResu OitemResult=itemQueryService.queryItemById(itemIdDo,options,mainDbRoute);finalItemDOitem=itemResult.getItem();}catch(finalException{ }lr.end_transaction("QueryItemById",}TPS每秒理能力的重要指标。TPS是LoadRunner中重要的性能参数指标。PVPage一个PV。即,PV的概念也适用于接口。PeakPVPageConcurrency并发Scenario场景 "Name=catPath","Value=",ENDITEM,"Name=item_id","Value={auc_ID}",ENDITEM,"Name=auction_id","Value={auc_ID}geng",ENDITEM,"Name=auction_type","Value=b",ENDITEM, ty","Value=100000",ENDITEM,"Name=seller_nickname","Value=tbtest33",ENDITEM,CPU资源CPUCPU资源占用率。CPU资源是判断系统处理能力以及应用运行是否稳定的重要参数。应用服务系统可以包括应用服务器、Web服务器、数据库服务器等。性能测试过程中,对CPU的以及分析报告、图表有LoadRunner自带分析、有Linux系统输出以及手工汇总有第工具分析等在此以LR分析图(图6、JVM自带CPU图表(图7)为例。Load负载wait准差、Load标准差、CPU资源利用率标准差、WebResources标准差等。举例响应时间标准9SellerSaveItem0.0430.01,如性能测试模型PV 分布图,6:00AM到次日的6:00AM,共24小时。11所示。1010面积,如图12所示。110根据80/20原理,找出占据总体面积80%所用的时间,再计算出平均PV量。选择尽可能大的点计算出占据总体80%的面积,发现点的个数是240,那么意味着此时间长度为总时间长度的50%,则80/20原则在此可以转换成80/50原则,则有PV80%*PV)/(24*60*60*(240/480))/服务器数量整理后得每台服务器每秒平均PV量=(1.6*PV)/(24*60*60)/服务器数量 每台服务器每秒PV量=(1.2*1.6*总PV)/(24*60*60)/服务器数量整理后得每台服务器每秒PV量=(1.92*总PV)/(24*60*60)/服务器数量PV->TPS转换模结论:通过以上三步,将PV转化能测试工具可识别的TPS。换言之,1PV=1TPSTPS波动场景执行期间,TPS可能会表现为稳定,或者波动,抑或遵循一定的上升或下降趋势。TPSTPS轨迹缓慢下降,缓慢上升后骤降,呈瀑布型,呈矩形,分时间段有规律的波动,无规律的波动等。这些TPS的波动轨迹反映TPS轨迹比较平稳,但是也存在波动现象。该类波动不明显,很难直接确定是否存在性能瓶颈。如果单场景性能测试、稳定性显示TPS达到了期望值,是否TPSTPS不可能是一条完整的直线,那么多大的TPS波动范围认为是可以被接受的呢?LoadRunnerTPS4个重要的参数,最大值、平均值、最小值和标准TPSTPS平均值和TPS标准差的概念。TPS标准差是根据数理统计的概念得来,反映被测系统的波动情况,标准差越小,说明波动越小,系统越稳定,反之,标准差越大,说明波动越大,系统越不稳定。既然HPMercuryJAVAWebJAVA接口分别做内部类比,由TPS平均值、TPS标准差也是差距非常大。因此,如果定TPSTPS标准差作为一个基线的话,不能应用到当前淘宝各类应用服务系统的性能测试中这也就说明了如果纯粹拿一个TPS平均值或者TPS标准差能完全说明TPSTPSTPS标准差除以TPS平均值,如公式1所示。TPSTPSt(TPS波动范围TPSTPSTPS的比t,如果这个比t超过了一定的范围,就确认这个性能点的TPS不够稳定,也间接证明被测系统响应波动大而不满足性能期望。被测系统种类测试是否通过测试类型超时概率采样时间可接受的最大波动范JAVA是性能低于万1JAVA是稳定性测低于万JAVA是性能低于万1JAVA是稳定性测低于万TPS波动模型的出发点是为淘宝性能测试以及项目组建立一个可参考的标准,更TPS是否稳定的时候,就有了一个参考依据,如TPS1所示,性能测试工程师就要配合项目组开发人员查找定位性能TPS波动模型是会随着淘宝各应用性能表现而相应变更的。当然,模型是共享中心性能测试模型APP提供服务。因此,它们扮演着极其重要的角色,其性能和稳定性型。如图13所示。(Loadunner该模型中,性能测试工具(LoadRunner)可通过WindowsSocketsClient测试代码集中的测试场景,再由被调用测试场景对目标Server发起请求。共同完成整个场景,解决以往模型只能模拟一个HSF连接的弊端。前端页面性能测试模型试模型。如图14所示。ShowSlow,处理数据,展现结果。Selenium中定制任务,Selenium按照设定,定期自动运行批量任务,由各个任务分别调用YSlow,YSlow对前端页面进行评分,并将评分结果发送给ShowSlow入库。最终由ShowSlow展现。性能测试策略架设与生产环境相似的性能测试环境,使用物理机作为服务器。例如,使用4核PV为性能测试切入点,作为淘宝性能测试的突破口。通过这种方式,可以将页面流量直接转化成PageView,作为性能测试的预期目标,而削弱用户数和PVPV计算模型、PV->TPS转换模型,将它转化成测试工具可以衡量的指标TPS,从而使复杂的模型变得简单化、可衡量化。出SQL语句是否足够优化、代码是否足够优化等。IOCPU资源;也会导致日志文件过大,写入,程序执行速度变慢等问题。而info和debug两个级别,都会打印大量日志。因此,性能测试过程中,选择将日志等级设置成warnwarnerror的ESI缓存,模拟的情况。ESI缓存,是页面性能优化的之一。对于非频繁变化的数据,可以在容器中缓存起来,提高读的性能,同时减轻数据库压力。ESI缓存必须在数据被过后才会生为了避免类似系统刚上线,数据库就受到Load过高,甚至的。在性能测试过程中,我们需要模拟没有ESI缓存的场景。性能测试评估主要从以下4个维度进试前的评估:PV家、卖家关的功能点。例如,hesper系统,用于展现商品list,供用户查询商品,它具有商品搜索、商品分类、SPU展现、类目排序、相关搜索等功能。通过评估,从中筛选出商品搜索、商品分类、SPU展现这三个主要业务涉及的功能。日PVPV量(或者日请求量PV量很高,逻辑复V量不高,但HSF量很低,但是需要多达十几个判断条件,频繁数据库。则该功能点需要作为一个性能点。运营推广计划运营计划做活动,要求系统每天能支撑多少PV、多少UV,或者一个季度后,需要能支撑其应该具体问题具体分析。例如,当一个功能点不满足以上 个维度,但又属于内存高消耗 高消耗时,也可列入性能测试点行性能测试类型性能测试压力变化模型图15所示。图中

点:性能期点:高于期望,系统资源处于临界点:超过负载,系统

性能测试类型由上述压力变化模型,将淘宝网性能测试分成狭义的4种类性能测试。负载测试。压力测试。a点到bb点到d稳定性a点到b时间为n*12小时。性能测试执行方法单场景案例1.无线项目,有,详情,查询3个性能点;性能测试工程1.限时打折项目,用户登录状态点击加入购物车、用户登录状态打开我的购物车案例2.无线项目,有,详情,查询3个性能点,这3个性能点性能中间件、网络等方面,保证测试前提,记录测试数据,输出结果。更重要的是,的指数据库 2.Oracle中间件 JVM内存使用和回收、JAVA内存使用、FullGC频率、JAVA类装入和ae具体包 CPU、Memory、网络、日志输出、磁盘空间、负载评估等工实现,最后dump出结果,得出埋点时间树具体请见淘宝内网“时间监控——Profiler使用方法”这篇文章。访问链接http://w /chanpin/km/architect/Wiki/时间--Profiler使用方法.aspx可获JstatJDK自带的一个轻量级小工具。全称“JavaVirtualMachinestatisticsmonitoringtool”,它位javabin下,它主要JVM内建的指Java应用程序的资源和性能进行实时令行的,包括了对Heapsize和回收状况的。可见,Jstat是轻量级的、专门针对JVM的工具,很实用。具体帮助支持文档请参阅性能测试Jstat使用方法 JConsole是一JAVAGUI程序,用来VM,并可VM,易用且功能强大。具体可JAVA内存JAVACPU使用率线程执行情况、加载类概况等JConsole需要在JVM参数中配置端口才能使用。由于是GUI程序,界面可视化,这里就不做详细介绍,具体帮助支持文档请参阅性能测试JConsole使用方法总结: JmapVMheap以二进制输出成文本。可以JAVA程序是否有内存泄漏,需要配合eclipse插件Memoryyzer来使使用方法:上jmap-histoPID。如果连用S jmap-histoPID>a.log可以将其保存到文本中(windows下也可以使用在一段时间后,使用文本对比工具,可以对比出GC文件里,并使用Memoryyzer工具查看。 /chanpin/km/test/DocLib/性能测试辅助工具-JMap的使用方法.aspx JProfilerJAVA剖析工具(profiler,专门用于分析J2SEJ2EECPU、线程和内存的使用信息。JProfiler可提供抓住内存泄漏(memoryleaks)、并解决多线程的问题。可以对内存的GC的资源回收器做深入的分析,可以轻易找出内存泄漏;JVM内存的快照(snapshot)模式可以让未被

输和读/写比率、网络I/O速度、传输和读/写比率等等Linuxaix。只需把可执行文件拷贝到服务器上,便可以实现完全IBM没有提供对该工具的正式支持,并且在使用它的时候必须自己承担相应 Nmon使用方法:解压->上传服务器->赋于可执行的权限->./nmon(修改名称)c、t、n、m,可以了解系统CPU、内存、消耗资源最高的线程的使用情况。首页会有各种帮助的Nmon命令./nmonftrtests30c180nmon分析文件。(注:-s3030秒执行一次;-c180共180次。的参数可参照该命令的帮助文档。使用nmon_yser工具,调整excel宏安全设置,打开.nmon文件,便可以生成附和Callgrind等,即可以内存分配、内存地址分配、缓存分配等。在结果中,以疑似、真实形式提供报表,并打印出的字节数。使用者可以很清晰的定位和识Valgrind适用于C/C++程序,基于Linux环境 VMmap步性能分析中间件瓶颈(apache/jboss参数配置、数据库参数配置)->debuglog->应算法)->服务提供者的性能瓶颈->相关联的底层应用的性能瓶颈分析信息来源 并发数、JVM内存、FullGC频率、CPU利用率、Load等。包括DBA提供的数据库信息、开发人员提供的代码逻辑信息、OPS提供的配 ysisLoadRunnerysis是LoadRunner的一个部件,用于将运行过程中所到的数据生成报表,主要用于TPS、响应时间、服务器资源使用情况等变化趋势。如图16所示。淘宝性能测试团队针对目前最主要的Profiler格式的超时日志,用ruby语言自主开tWork执行日志分析和展示分析结果。分析结果包括:日志的总体统计信息、平均响应时间、区间分布、耗时。同时,结果展示结合了图平均响应时间:统计日志中同一个请求的每个方法或模板的平均响应时间间内,从而判断该响应时间是否正常。如图17所示。耗时:统计每次请求中响应时间最大的5个方法或模板出现的次数18Memoryyzer分 yzer工具可以解析JmapdumpExcel电子表格,并自动地生成相应的图形。nmon_yzer工具可以帮助对通过Nmon性能工具捕获的性能数据进行分析。它以电子表格的形式查看相应的数据生成向客户进行演示的图形,如图19性能测试通过标准

类判断维度不通通备服务超时大于万小于万PMPDM认2、页面大小包括2s。错误大于万小于万小于期望大于期望见TPS波动见TPS波动模CPU响应大于期小于期平均每核CPULoadCPULoad内存使用FullGC平均小于半小时次次前端YSlowC级YSlow评定为用户页面页面大于页面小于页面1M带宽,大于1M带宽,小于淘宝性能测试团队联合架构师和各共享中心,定义了不同应用的Profiler超时阈值。目前已经界定出的超时阈值如表3所示。超时阈http时页面http响应单条接口(缓存批量接口(缓存UserPromotedServiceIC提交操单条查询类的批量查询类的有缓存TC不与支付宝交互的接与支付宝交互的接口(mock支付宝SC一般的接相册相保存装修接销售统计相关性能测试流程性能测试流程图性能测试是一个系统工程,涉及到PDM、PM、PTM、性能测试工程师、DBA、SCM、OPS等多个角色。从性能测试申请,到性能测试设计、性能测试环境、性能测试数据、性性能测试流程主

温馨提示

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

评论

0/150

提交评论