性能测试分析实践分享!

2020-07-24  本文已影响0人  Coding测试

前言

对于压力测试结果的分析没有一个系统的思路,在压力测试结果不符合性能指标时无从下手,也无法向开发提出有效的优化性能的方法。在对多个项目分析后,总结出一个通用的分析思路,可以快速定位性能瓶颈。

分析思路

压测结果分析基本原则:

整体分析思路如下图所示

其中客户端问题概率较小。主要分析重点在网络问题服务端问题上面。

网络问题:
服务端问题:
性能监控常用命令:

常见瓶颈点分析

性能瓶颈出现频次 具体表现
TPS波动较大
未到期望并发前出现大量报错
并发数不断增加,CPU耗用不高
一、TPS波动较大

1、原因解析

出现TPS波动较大问题的原因一般有网络波动其他服务资源竞争以及垃圾回收问题这三种。

2、排查方法:

2.1 压力测试环境一般都是在内网或局域网内进行,可通过监控网络的出入流量来排查;

2.2 其他服务资源竞争也可能造成这一问题,可以通过top命令或服务梳理方式来排查在压测时是否有其他服务运行;

2.3 垃圾回收问题相对来说是最常见的导致TPS波动的一种原因,可以通过GC监控命令来排查,命令如下:

GC信息输出到文件

jstat -gc PID 1000 120 >> /path/gc.txt

jsatt -gcutil PID 1000 120 >> /path/gc.txt
二、未到期望并发前出现大量报错

1、原因解析:

出现该类问题,常见的原因有短连接导致的端口被完全占用以及线程池最大线程数配置较小或超时时间较短导致。

2、解决方案:

三、并发数不断增加,CPU耗用不高

1、原因解析:

2、解决方案

结束语

性能测试结果分析是性能测试过程中的最后一步,也是一个非常重要的部分,以系统的思路进行分析,可以一层一层剥离问题表象,找到真正的性能瓶颈并进行优化,提升整体服务性能。


上一篇 下一篇

猜你喜欢

热点阅读