性能测试培训:性能瓶颈分析思路
poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标。在poptest的loadrunner的培训中,为了提高学员性能优化的经验,加入了很多服务器方面的优化知识,为性能调优的能力打下基础。(大家对课程感兴趣,请加qq:564202718)
第一步:性能测试
通过loadrunner,jmeter等工具进行性能测试的过程中,采集数据指标:响应时间、业务错误率、和 tps 等
第二步:分析定位
如有指标异常异常:
a . 可先排除压力机(loadrunner的controller控制的压力的发起端)
b. 外围依赖系统(银行系统会有很多的关联系统)是否有瓶颈
c. 如果没有,关注网 络、db性能和连接数
d.最后关注系统本身的指标
1. 硬件:磁盘是否写满、内存是否够用、cpu的利用率、平均load值
2. 软件: 操作系统版本、jdk版本、jboss容器以及应用依赖的其他软件版本
3. JVM内存管理和回收是否合理
4. 应用程序本身代码:应用系统负载分析:CPU使用率和内存使用率
Load:cpu使用率应低于50%,如过高有可能程序的算法耗费太多cpu,或者代码块不合理占用。
Load值尽量保持在cpuS+2 或者cpuS*2,其中 cpu 和 load 一般与并发数成正比
2 种方式查看内存情况:
@vmstat 命令输出的 si 和 so 值显示为非 0 值, 则表示剩余可支配的物理内存已经严重不足,需要通过与磁盘交换内容来保持系统的稳定 ; 由于磁盘处理的速度远远小于内存,此时就会出现严重的性能下降 ;si 和 so的值越大,表示性能瓶颈越严重。
@工具监控内存的使用情况,如果出现内存占用一直上升的趋势有可能系统内存占满的情况如果出现内存占用一直上升的趋势,有可能系统一直在创建新的线程,旧的线程没有销毁; 或者应用申请了堆外内存,一直没有回收导致内存一直增长.