CommunicationsException: Communications link failure

目录

原因分析

SQL自身问题场景

系统资源不足场景


异常信息:Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet successfully received from the server was 360,005 milliseconds ago. The last packet sent successfully to the server was 360,001 milliseconds ago.

原因分析

可见,一条SQL执行时间超过了6分钟,造成超时的原因有两种

  1. SQL自身问题,太多复杂、数据量过大等等
  2. 系统资源不足,导致查询等待

需要去定位异常SQL:查看异常栈信息,分析异常SQL:explain,去定位具体原因

SQL自身问题场景

曾解决过这种情况,发现是表的数据量过大、SQL未命中索引且查询筛选数据过多,导致SQL超时

该情况问题解决:优化SQL,分批次查询

系统资源不足场景

也遇到过该情况,SQL分析发现,是非常简单的查询,执行仅需要毫秒级别,可以判断去与SQL本身无关。就去查看MySQL监控,发现报错时间段慢查询速率达到了峰值,mysql流量突增

 解决:去查看该时间段的慢查询列表,解决慢查询;未解决之前,可以避开该时间段去执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值