02 性能分析之解决方案

简介: 02 性能分析之解决方案

常见瓶颈点分析



性能瓶颈出现频次

具体表现

TPS波动较大

未到期望并发前出现大量报错

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



一、TPS波动较大



1、原因解析

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


2、排查方法:

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

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

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


#GC信息输出到文件jstat -gc PID 1000 120 >> /path/gc.txtjsatt -gcutil PID 1000 120 >> /path/gc.txt




二、未到期望并发前出现大量报错



1、原因解析:

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


2、解决方案:

短连接问题:释放TIME_WAIT scoket用于新的连接;

线程池问题:修改服务节点中容器的server.xml文件中的配置参数,主要修改如下几个参数:


#最大线程数,即服务端可以同时响应处理的最大请求数:maxThreads="200"#Tomcat的最大连接线程数,即超过设定的阈值,Tomcat会关闭不再需要的socket线程:maxSpareThreads="200"#等待超时的阈值,单位为毫秒,设置为0时表示永不超时:connectionTimeout="20000"




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



1、原因解析:

出现该类问题,常见的原因有:SQL没有创建索引/SQL语句筛选条件不明确代码中设有同步锁高并发时出现锁等待

2、解决方案

SQL问题:没有索引就创建索引,SQL语句筛选条件不明确就优化SQL和业务逻辑;

同步锁问题:是否去掉同步锁,有时候不仅仅是技术问题,还涉及到业务逻辑的各种判断,建议和开发产品同事沟通确认;

相关文章
|
6月前
|
并行计算 数据可视化 安全
可视化性能分析器nvvp的安装
可视化性能分析器nvvp的安装
111 0
|
6月前
|
运维 关系型数据库 MySQL
性能分析到底是不是性能测试工程师的能力?
【4月更文挑战第27天】性能分析到底是不是性能测试工程师的能力?
66 2
|
6月前
|
监控 数据挖掘
性能分析之解析 RESAR 性能分析七步法
【2月更文挑战第5天】性能分析之解析 RESAR 性能分析七步法
155 3
性能分析之解析 RESAR 性能分析七步法
|
6月前
|
监控 NoSQL MongoDB
|
存储 Kubernetes 容灾
压测和性能分析方法论
压测和性能分析方法论
|
SQL 存储 缓存
性能分析优化的道与术
如果网络不稳定,也会导致RT的曲线抖动较为剧烈,产生毛刺甚至丢包,这个时候P90/P99的数值也可能变大。因此稳定和足够的网络带宽,对系统的性能来说是很重要的。
性能分析优化的道与术
|
测试技术 数据库 UED
06 性能分析之通过标准
06 性能分析之通过标准
|
测试技术
05 性能分析之常见指标
05 性能分析之常见指标
|
监控 负载均衡 网络协议
01 性能分析之常见思路
01 性能分析之常见思路
|
Web App开发 移动开发 缓存