性能测试的结果分析是性能测试的重中之重。在实际工作中,由于测试的结果分析比较复
杂、需要具备很多相关的专业知识,因此常常会感觉拿到数据不知从何下手。这也是我学习性能
测试过程中感觉比较尴尬和棘手的事,为此我在研读了《WEB性能测试实战》后特作了以下笔
记,这里只是书中第4章WEB应用程序性能分析的一
部分,贴出来希望和大家共同讨论:
一:性能分析的基础知识:
1.几个重要的性能指标:相应时间、吞吐量、吞吐率、TPS(每秒钟处理的交易数)、点
击率等。
2.系统的瓶颈分为两类:网络的和服务器的。服务器瓶颈主要涉及:应用程序、WEB服务
器、数据库服务器、操作系统四个方面。
3.常规、粗略的性能分析方法:
当增大系统的压力(或增加并发用户数)时,吞吐率和TPS的变化曲线呈大体一致,则系统
基本稳定;若压力增大时,吞吐率的曲线增加到一定程度后出现变化缓慢,甚至平坦,很可能是
网络出现带宽瓶颈,同理若点击率/TPS曲线出现变化缓慢或者平坦,说明服务器开始出现颈。
4.作者提出了如下的性能分析基本原则,此原则本人十分赞同:
——由外而内、由表及里、层层深入
应用此原则,分析步骤具体可以分为以下三步:
第一步:将得到的响应时间和用户对性能的期望值比较确定是否存在瓶颈;
第二步:比较Tn(网络响应时间)和Ts(服务器响应时间)可以确定瓶颈发生在网络还是服
务器;
第三步:进一步分析,确定更细组件的响应时间,直到找出发生性能瓶颈的根本原因。
二:以WEB应用程序为例来看下具体的分析方法:
1.用户事务分析:
a.事务综述图(Transaction Summary ):以柱状图的形式表现了用户事务执行的成功与
失败。通过分析成功与失败的数据可以直接判断出系统是否运行正常。若失败的事务非常多,则
说明系统发生了瓶颈或者程序在执行过程中发生了问题。
b.事务平均响应时间分析图(Average Transaction Response Time): 该图显示在
测试场景运行期间的每一秒内事务执行所用的平均时间,还显示了测试场景运行时间内各个事务
的最大值、最小值和平均值。通过它可以分析系统的性能走向。若所有事务响应时间基本成一条
曲线,则说明系统性能基本稳定;否则如果平均事务响应时间逐渐变慢,说明性能有下降趋势,
造成性能下降的原因有可能是由于内存泄漏导致。