性能测试、分析、优化的方法论.docx
《性能测试、分析、优化的方法论.docx》由会员分享,可在线阅读,更多相关《性能测试、分析、优化的方法论.docx(13页珍藏版)》请在第壹文秘上搜索。
1、前言理论来源于实践又服务于实践,在笔者多年的IT经脸中,性能问题一直是相对复杂的高阶问题,从性能测试到分析再到优化,考验的是工程炖的综合IT技能.一个系统整体的性能牵扯到方方面面,硬件配置、网络配置、操作系统、中间件、应用架构、代码质砧等等都会影响到系统的整体性能,初入性能领域的工程师可能感觉到无从下手。本文主要介绍相关性能测试、分析、优化的方法论。希望通过方法论的学习,可以招助工程师在”杂纷乱的环境下明确性能目标,制定合理可行的性能测试计划,有针对性的进行性能分析,发现系统真正的性俄瓶颈并最终能够进行有效的性能优化.1相关概念介绍1.1软件涌试分类软件测试按照测试阶段、是否运行程序、是否查看
2、源代码以及其他方式,可以用卜图所示来描述软件测试的各种分类,从图中可以看出,请求响应时间为“网络晌应时间”和“应用程序与系统响应时间”之和,具体由七个部分组成,即(Nl招2+N3+N4)+(A1+A2+A3)并发用户效并发用户数也经常被用来作为衡埴系统并发处理能力的指标,并发用户数是指系统可以同时承载的正常使用系统功能的用户数量,这个指标也经常被当作衡量系统处理能力的电要指标。实际上,笼统地将并发用户数的大小作为衡量系统并发处理能力的指标并不是十分科学的,因为并发用户又可以细分为在镂用户数和严格的并发用户。在观用户是指在同一时刻处于登录状态的用户,在线用户数仅仅表明有多少用户处,登录状态,并不
3、能说明这些用户正在进行操作,在某些情况卜.,系统在线用户数可能比较高,但是每秒处理交易数量有可能并不高.严格的并发用户是指在同一时刻执行统一操作的活跌用户”较少的严格并发明户数可能就会给系统造成较大的压力,实际上绝大多数未经过性能测试和未做调优的应用系统,5I0个严格并发用户就能或多或少地给系统造成性能间题。系统用户数是指系统注册的总用户数.三者之间的关系:系统用户数)在线用户数H严格的并发用户数.吞吐量单位时间内处理的客户端请求数盘,直接体现软件系统的性能承我能力。通常情况下,吞吐率可以用“请求数/秒”“页面数/秒”来衡成,从网络角度,吞吐量一般以“字节/秒”来衡量TPS(Transacti
4、onPerSecond)是指每秒钟系统能够处理的交易或者事务的数量,用来衡量系统业务处理能力的重要指标.对于一些日交易量比较大的系统,通常在测试报告中用每秒完成多少万笔或8/12/2.1小时完成多少万电交易来描述系统的业务处理能力,这样可以感觉更直观。大体来说,对于交互式应用,用户直接的体验是响应时间,通过并发用户数和响应时间可以确定系统的性能规划,但对于非交互式应用,用“吞叶量”来描述我们对系统性俄的期望会更加合理.对于交互式应用来说,吞吐量指标反映的是服务战承受的压力.在容fit规划的测试中,吞吐量是个重点关注的指标,因为它能钓说明系统级别的负我能力。另外,在性能诩优的过程中,吞吐量指标也
5、有市要的价值.如在WCb系统的性能测试过程中,吞吐量以请求数/秒来体现,吞吐量指标可以在两个方面发挥左右:用于协助设计性能测试场景,以及衡量性能测试场景是否达到了预期的实际目标.用于协助分析性於粒颈,吞吐量的限制是性能版颈的一种包耍发现形式,因此,由针时性的对吞吐币进行测试,可以尽快定位到性能瓶颈所在位置。比如说,RBl(rapidbottleneckidentify)方法就主要通过吞吐量测试发现性能瓶颈.2性能测试方法论2.1性能窝诚方法2.1.1RBI(rapidbottleneckidentify)方法RBl(rapidbottleneckidentify)方法是EmPiriX公司提出的
6、一种用于快速识别系统性能瓶颈的方法。该方法基于以卜一些事实:1.发现的80%系统的性能瓶颈都由吞吐盘制约.2.并发用户数和吞吐量瓶颈之间存在一定的关联.3.采用吞吐量测试可以更快速的定位问题。RBl方法首先访问服务器上的小法面和简单应用,从应用服务器,网络等菸础的层面上了解系统吞吐量表现,其次选择不同的场景,设定不同的并发用户数,使其吞吐量保持基本一致的增长趋势,通过不断增加并发用户数和吞叶t观察系统的性货表现.在确定具体的性俄视颈时,RBI将性能瓶颈的定位按照一种“自下而上”的分析方式进行分析,首先确定是由并发还是由吞吐M引发的性能表现限制,然后从网络,数据库,应用服务器和代码本身4个环节确
7、定系统性能具体的瓶颈,RBl方法在性能瓶颈的定位过程中能发挥良好的作用,其对性能分析和瓶颈定位有很强的借鉴意义。2.1.2性能下降曲线分析法性链下降曲线实际上描述的是性般随客户数量增加而出现下降趋势的曲线,这里的性能可以是响应时间,也可以是吞吐砧。aesb三.弓dqnoBUlSectionA31.Ighteruserloadzone.SectionB-Heavyloadzone.SectionC=BuckIezone性能曲线大体分成以卜几个部分:i.性能平坦区在不进行性能调优的情况卜.所能期望达到的最佳性能.这个区域可以被用来做性能基线或者benchmark.2.压力区应用出现性能轻微下肾的地
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 性能 测试 分析 优化 方法论