凤凰涅槃 浴火重生

发布新日志

  • LR 性能测试结果分析基本方法 (网络收集)

    2011-03-13 16:04:33

    一:性能分析的基础知识:
        1.几个重要的性能指标:响应时间、吞吐量、吞吐率、TPS(每秒钟处理的交易数)、点击率等。

        2.系统的瓶颈分为两类:网络的和服务器的。服务器瓶颈主要涉及:应用程序、WEB服务器、数据库服务器、操作系统四个方面。

        3.常规、粗略的性能分析方法:
       当增大系统的压力(或增加并发用户数)时,吞吐率和TPS的变化曲线呈大体一致,则系统基本稳定;若压力增大时,吞吐率的曲线增加到一定程度后出现变化缓慢,甚至平坦,很可能是网络出现带宽瓶颈,同理若点击率/TPS曲线出现变化缓慢或者平坦,说明服务器开始出现颈。

        4.性能分析基本原则:由外而内、由表及里、层层深入
        应用此原则,分析步骤具体可以分为以下三步:
       第一步:将得到的响应时间和用户对性能的期望值比较确定是否存在瓶颈;
       第二步:比较Tn(网络响应时间)和Ts(服务器响应时间)可以确定瓶颈发生在网络还是服务器;
       第三步:进一步分析,确定更细组件的响应时间,直到找出发生性能瓶颈的根本原因。
     
    二:以WEB应用程序为例来看下具体的分析方法:
        1.用户事务分析:
        a.事务综述图(Transaction Summary ):以柱状图的形式表现了用户事务执行的成功与失败。通过分析成功与失败的数据可以直接判断出系统是否运行正常。若失败的事务非常多,则说明系统发生了瓶颈或者程序在执行过程中发生了问题。
        b.事务平均响应时间分析图(Average Transaction Response Time): 该图显示在测试场景运行期间的每一秒内事务执行所用的平均时间,还显示了测试场景运行时间内各个事务的最大值、最小值和平均值。通过它可以分析系统的性能走向。若所有事务响应时间基本成一条曲线,则说明系统性能基本稳定;否则如果平均事务响应时间逐渐变慢,说明性能有下降趋势,造成性能下降的原因有可能是由于内存泄漏导致。
        c.每秒通过事务数分析图(Transaction per Second即TPS):显示在场景运行的每一秒中,每个事 务通过、失败以及停止的数量。通过它可以确定系统在任何给定时刻的实际事务负载。若随着测试的进展,应用系统在单位时间内通过的事务数目在减少,则说明服务器出现瓶颈。
         d.每秒通过事务总数分析图(Total Transactions per Second):显示场景运行的每一秒中,通过、失败以及停止的事务总数。若在同等压力下,曲线接近直线,则性能基本趋于稳定;若在单位时间内通过的事务总量越来越少,即整体性能下降。原因可能是内存泄漏或者程序中的缺陷。
          e.事务性能摘要图(Transaction Performance Summary):显示方案中所有事务的最小、最大平均执行时间,可以直接判断响应时间是否符合客户要求(重点关注事务平均、最大执行时间)。
          f.事务响应时间与负载分析图(Transaction Response Time Under load):通过该图可以看出在任一时间点事务响应时间与用户数目的关系,从而掌握系统在用户并发方面的性能数据。
          g.事务响应时间(百分比)图(Transaction Response Time(percentile)):该图是根据测试结果进行分析而得到的综合分析图。分析该图应从整体出发,若可能事务的最大响应时间很长,但如果大多数事务具有可接受的响应时间,则系统的性能是符合。
          h.事务响应时间分布情况图(Transaction Response Time (Distribution)):该图显示了测试过程中不同响应时间的事务数量。若系统预先定义了相关事务可以接受的最小和最大事务响应时间,则可以使用此图确定系统性能是否在接受范围内。
  • LR 性能分析名词解释 (网络收集)

    2011-03-13 14:27:35

    Transactions(用户事务分析)
      用户事务分析是站在用户角度进行的基础性能分析。
    1、Transation Sunmmary(事务综述)
      对事务进行综合分析是性能分析的第一步,通过分析测试时间内用户事务的成功与失败情况,可以直接判断出系统是否运行正常。

    2、Average Transaciton Response Time(事务平均响应时间)
      “事务平均响应时间”显示的是测试场景运行期间的每一秒内事务执行所用的平均时间,通过它可以分析测试场景运行期间应用系统的性能走向。
      例:随着测试时间的变化,系统处理事务的速度开始逐渐变慢,这说明应用系统随着投产时间的变化,整体性能将会有下降的趋势。

    3、Transactions per Second(每秒通过事务数/TPS)
      “每秒通过事务数/TPS”显示在场景运行的每一秒钟,每个事务通过、失败以及停止的数量,使考查系统性能的一个重要参数。通过它可以确定系统在任何给定时刻的时间事务负载。分析TPS主要是看曲线的性能走向。
      将它与平均事务响应时间进行对比,可以分析事务数目对执行时间的影响。
      例:当压力加大时,点击率/TPS曲线如果变化缓慢或者有平坦的趋势,很有可能是服务器开始出现瓶颈。

    4、Total Transactions per Second(每秒通过事务总数)
      “每秒通过事务总数”显示在场景运行时,在每一秒内通过的事务总数、失败的事务总署以及停止的事务总数。

    5、Transaction Performance Sunmmary(事务性能摘要)
      “事务性能摘要”显示方案中所有事务的最小、最大和平均执行时间,可以直接判断响应时间是否符合用户的要求。
      重点关注事务的平均和最大执行时间,如果其范围不在用户可以接受的时间范围内,需要进行原因分析。

    6、Transaction Response Time Under Load(事务响应时间与负载)
      “事务响应时间与负载”是“正在运行的虚拟用户”图和“平均响应事务时间”图的组合,通过它可以看出在任一时间点事务响应时间与用户数目的关系,从而掌握系统在  用户并发方面的性能数据,为扩展用户系统提供参考。此图可以查看虚拟用户负载对执行时间的总体影响,对分析具有渐变负载的测试场景比较有用。

    7、Transaction Response Time(Percentile)(事务响应时间(百分比))
      “事务响应时间(百分比)”是根据测试结果进行分析而得到的综合分析图,也就是工具通过一些统计分析方法间接得到的图表。通过它可以分析在给定事务响应时间范围内能执行的事务百分比。

    8、Transaction Response Time(Distribution)(事务响应时间(分布))
      “事务响应时间(分布)”显示在场景运行过程中,事务执行所用时间的分布,通过它可以了解测试过程中不同响应时间的事务数量。如果系统预先定义了相关事务可以接受的最小和最大事务响应时间,则可以使用此图确定服务器性能是否在可以接受的范围内。

    ----------------------------------------------------------------------------------------

    Web Resources(Web资源分析)
        Web资源分析是从服务器入手对Web服务器的性能分析。

    1、Hits per Second(每秒点击次数)
      “每秒点击次数”,即使运行场景过程中虚拟用户每秒向Web服务器提交的HTTP请求数。
      通过它可以评估虚拟用户产生的负载量,如将其和“平均事务响应时间”图比较,可以查看点击次数对事务性能产生的影响。通过对查看“每秒点击次数”,可以判断系统是否稳定。系统点击率下降通常表明服务器的响应速度在变慢,需进一步分析,发现系统瓶颈所在。

    2、Throughput(吞吐率)
      “吞吐率”显示的是场景运行过程中服务器的每秒的吞吐量。其度量单位是字节,表示虚拟用在任何给定的每一秒从服务器获得的数据量。
      可以依据服务器的吞吐量来评估虚拟用户产生的负载量,以及看出服务器在流量方面的处理能力以及是否存在瓶颈。
      “吞吐率”图和“点击率”图的区别:
      “点击率”图,是每秒服务器处理的HTTP申请数。
      “吞吐率”图,是客户端每秒从服务器获得的总数据量。

    3、HTTP Status Code Summary(HTTP状态代码概要)
      “HTTP状态代码概要”显示场景或会话步骤过程中从Web服务器返回的HTTP状态代码数,该图按照代码分组。HTTP状态代码表示HTTP请求的状态。

    4、HTTP Responses per Second(每秒HTTP响应数)
      “每秒HTTP响应数”是显示运行场景过程中每秒从Web服务器返回的不同HTTP状态代码的数量,还能返回其它各类状态码的信息,通过分析状态码,可以判断服务器在压力下的运行情况,也可以通过对图中显示的结果进行分组,进而定位生成错误的代码脚本。

    5、Pages Downloader per Second(每秒下载页面数)
      “每秒下载页面数”显示场景或会话步骤运行的每一秒内从服务器下载的网页数。使用此图可依据下载的页数来计算Vuser生成的负载量。
      和吞吐量图一样,每秒下载页面数图标是Vuser在给定的任一秒内从服务器接收到的数据量。但是吞吐量考虑的各个资源极其大小(例,每个GIF文件的大小、每个网页的大小)。而每秒下载页面数只考虑页面数。
      注:要查看每秒下载页数图,必须在R-T-S那里设置“每秒页面数(仅HTML模式)”。

    6、Retries per Second(每秒重试次数)
      “每秒重试次数”显示场景或会话步骤运行的每一秒内服务器尝试的连接次数。
      在下列情况将重试服务器连接:
      A、初始连接未经授权
      B、要求代理服务器身份验证
      C、服务器关闭了初始连接
      D、初始连接无法连接到服务器
      E、服务器最初无法解析负载生成器的IP地址

    7、Retries Summary(重试次数概要)
      “重试次数概要”显示场景或会话步骤运行过程中服务器尝试的连接次数,它按照重试原因分组。将此图与每秒重试次数图一起使用可以确定场景或会话步骤运行过程中服务器在哪个时间点进行了重试。

    8、Connections(连接数)
      “连接数”显示场景或会话步骤运行过程中每个时间点打开的TCP/IP连接数。
      借助此图,可以知道何时需要添加其他连接。
      例:当连接数到达稳定状态而事务响应时间迅速增大时,添加连接可以使性能得到极大提高(事务响应时间将降低)。

    9、Connections Per Second(每秒连接数)
      “每秒连接数”显示方案在运行过程中每秒建立的TCP/IP连接数。
      理想情况下,很多HTTP请求都应该使用同一连接,而不是每个请求都新打开一个连接。通过每秒连接数图可以看出服务器的处理情况,就表明服务器的性能在逐渐下降。

    10、SSLs Per Second(每秒SSL连接数)
      “每秒SSL连接数”显示场景或会话步骤运行的每一秒内打开的新的以及重新使用的SSL连接数。当对安全服务器打开TCP/IP连接后,浏览器将打开SSL连接。

     

Open Toolbar