一次线上故障问题定位和解决
来源:互联网 发布:sql数据库开发 编辑:程序博客网 时间:2024/03/29 15:27
状况:
系统在2017年9月27日13:42分左右开始,数据库connection被爆掉,资源耗尽,其中
1)log4j:一种是com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure,另外一种Could not get JDBC Connection; nested exception is java.sql.SQLException: Cannot get a connection, pool error Timeout waiting for idle object
查看数据库只读库,压力并不大,但是有大量正在运行中的sleep连接
2)tomcat的catatina.out日志:
27-Sep-2017 13:52:48.500 SEVERE [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [ROOT] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@2ec9908f]) and a value of type [io.netty.util.internal.InternalThreadLocalMap] (value [io.netty.util.internal.InternalThreadLocalMap@27f4cbe8]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.这种日志疯狂爆掉
判断:
1)用户请求耗时过长,没有释放申请的资源,包括db连接,同时也让线程资源耗尽;
2)对外依赖的接口,可能存在访问超时等情况。
结论:
经核查,其他项目组有发布新功能,正式我们使用的接口,导致timeout请求很多。同时,这些http接口的timeout设置,并不合理,所以导致资源耗尽。
阅读全文
0 0
- 一次线上故障问题定位和解决
- 一次线上GC故障解决过程记录
- 一次线上服务故障应急问题总结
- 一次MySQL5.7线上故障分析
- 一次迷失的http请求--- 一次线上问题定位跟踪过程
- 记一次线上数据库死锁定位
- 该怎么解决运维定位服务故障问题?
- java 线上问题定位工具
- Linux系统线上问题定位
- 线上CPU 爆表 问题定位
- 如何快速定位线上问题?
- 解决线上问题办法
- 一次sql性能故障解决
- 记一次mysql连接数超200线上故障
- 一次线上游戏卡死的解决历程
- 线上故障:高内存和CUP100%解决办法
- [OOM]记一次线上OOM的问题
- 一次线上的GC问题排查
- 工厂模式
- Java项目设计分享(一)
- [2] SSD配置+训练VOC0712+训练自己的数据集
- Word 文件转换为 markdown
- 挑战程序竞赛系列(90):3.6凸包(1)
- 一次线上故障问题定位和解决
- 如何对二维数组进行排序
- Mybatis 延迟加载详解
- java统计list不同元素,满足n个返回
- 52.Scala中路径依赖代码实战详解
- 二叉树的路径和-LintCode
- PHP创建迅雷、快车、旋风链接
- Hrbust 2319 Number Game【思维+优先队列】
- node csv文件流读取