一次 DatabaseException 事故分析:从异常日志到最终解决方案

报错信息:

未包装异常,异常信息:
com.xx.xx.database.core.DatabaseException:数据库异常:请求’null’处理异常:请求关闭
调用信息:com.xx.xx.database.core.acceptor.DatabaseAcceptor#fail:55@DatabaseAcceptor.java

排查思路

ORM 连接:检查自研 ORM 的事务管理、超时时间和连接池配置,确保事务未被意外终止或超时,避免连接池资源耗尽。

MySQL 配置:检查 MySQL 的内存分配、最大连接数、事务超时时间等配置是否合理,避免数据库性能瓶颈。

应用层线程管理:检查 Vert.x 的线程池配置、任务队列大小及超时时间,确保线程池不会被耗尽,导致请求处理失败。

JVM 资源:检查 JVM 的最小/最大堆内存设置,确保内存资源足够,避免由于内存限制导致线程创建不足。

来源链接:https://www.cnblogs.com/xiaofei12/p/18808058

© 版权声明
THE END
支持一下吧
点赞10 分享
评论 抢沙发
头像
请文明发言!
提交
头像

昵称

取消
昵称表情代码快捷回复

    暂无评论内容