关于TPS与CPU的性能综合分析

关于TPS与CPU的性能综合分析

1.长时间压测过程中TPS不断下降,CPU使用率不断降低
原因:线程死锁导致
使用jps -l获取线程信息
使用jstack -l {PID} 查看线程死锁或则线程阻塞情况
线程死锁:搜索deadlock关键字进行查找
线程阻塞:搜索blocked关键字进行查找
锁等待
2.并发数不断增加,TPS上不去,CPU使用率较低
原因:SQL没有创建索引/SQL语句筛选条件不明确、代码中设有同步锁。
优化SQL
去掉同步锁

3.高并发下大量报错
原因解析:常见的原因有短连接导致的端口被完全占用以及线程池最大线程数配置较小及超时时间较短导致。
调优方案:
短连接问题:修改服务节点的tcp_tw_reuse参数为1,释放TIME_WAIT scoket用于新的连接。
线程池问题:修改服务节点中容器的server.xml文件中的配置参数。

# 最大线程数,即服务端可以同时响应处理的最大请求数
maxThreads="200"                        
# Tomcat的最大连接线程数,即超过设定的阈值,Tomcat会关闭不再需要的socket线程      
maxSpareThreads="200"              
# 所有可用线程耗尽时,可放在请求等待队列中的请求数,超过该阈值的请求将不予处理,返回Connection refused错误
acceptCount="200"                
# 等待超时的阈值,单位为毫秒,设置为0时表示永不超时
connectionTimeout="20000"      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值