• 性能测试瓶颈分析


          在实际测试中,由于各种原因,测试得到的性能指标关系往往并不遵循前面介绍的关系。常见的现象有CPU压不满或者在CPU压满前,相关性能指标曲线已不正常。虽然导致这种现象的原因很多,但有一点可以肯定的是,系统(硬件或软件系统)的某处一定出现了瓶颈。此时,测试人员应配合开发人员进行分析尽快找出瓶颈的所在。

    1、查看cpu是否时瓶颈
    首先查看CPU%是否已接近100%,若已经接近(>95%),再看其他指标的拐点出现的时刻是否与CPU压满的时刻基本一致,若一致,则说明测试不存在瓶颈。若CPU未能压满,在继续查找其他瓶颈。
    查看CPU利用率。建议CPU指标如下:
      a) User Time:65%~70%
      b) System Time:30%~35%
      c) Idle:0%~5%
      如果us,sy高于这个指标可以判断CPU有瓶颈
    2、查看内存是否瓶颈
    内存不足时,操作系统会使用虚拟内存,平凡进行页交换,这回造成ART(activity respond time)的上升。
    3、查看磁盘I/O是否瓶颈
    磁盘I/O成为瓶颈时,会出现磁盘I/O繁忙,导致交易执行时在I/O处等待。

    如图,当磁盘的Busy%>20%时,说明磁盘的I/O已比较繁忙。

    4、查看中间是否瓶颈
    空闲线程的影响
    日志级别的影响
    JVM的影响
    JDBC连接池大小的影响
    查看网络带宽是否瓶颈
    性能测试大都在100M的局域网内进行,一般带宽不会成为瓶颈,但若是带宽<10M或是做一些大文件下载上传的测试时,网络带宽就有可能成为瓶颈。

    5、查看数据库是否瓶颈
    联机事务处理系统需要频繁操作数据库,因此,数据库的设计、部署方式等会对系统的性能有较大影响。
    造成数据库瓶颈的因素比较多,常见的有:
    数据库操作频繁,占用CPU较大
    数据库表未建索引,导致操作数据库时间过长
    数据库操作的常用表在一个表空间内,且在一个磁盘上,导致磁盘读写频繁
    数据库的连接池设置太小,导致数据库连接出现排队

    6、分析程序内部实现机制是否瓶颈
    程序内部的一些实现机制也可能会成为瓶颈,比如同步、异步方式,监控机制等。

  • 相关阅读:
    [UML]UML系列——活动图activity diagram
    [UML]UML系列——包图Package
    UNIDAC不能识别CLIENTDATASET的TSINGLEFIELD
    UNIDAC如何驱动MSSQL2000
    delphi各个版本编译开关值
    优秀的数据序列和还原类----TSimpleMsgPack
    DELPHI方法注释的标准写法
    客户端如何通过咏南中间件调用存储过程和数据分页查询和文件传输的演示
    delphi 安卓程序如何读取外部配置文件
    调用DATASNAP+FIREDAC的远程方法有时会执行二次SQL或存储过程的BUG
  • 原文地址:https://www.cnblogs.com/jane4321/p/11026916.html
Copyright © 2020-2023  润新知