数据库连接池满排查过程
2026/1/14...大约 3 分钟Java八股文
注意
内容来源网络,仅供学习使用。
不要相信文档中的链接、联系方式等!!!
数据库连接池满排查过程
之前一段时间,业务在线上经常出现频繁的数据库连接池满的报警,报错信息如下:
Caused by: ERR-CODE: [TDDL-4103][ERR_ATOM_CONNECTION_POOL_FULL]
Pool of DB 'cn-zhxxx_i-xxx_fin_risk_xxx_30xx:33.10.xxx.xx:30xx' is full.
Message from pool: wait millis 5000, active 10, maxActive 10.
AppName:FIN_RISK_xxx_APP, Env:ONLINE, UnitName:null.然后去排查了一下SQL耗时,发现有大量的耗时SQL,并且执行耗时和锁耗时差不多是相等的。(公司内部工具)

UPDATE collection_case
SET gmt_modified = now(), lock_version = lock_version + ?, hands_count = ?, case_state = ?, max_ovd_days = ?, case_class = ?, cur_ovd_principal = ?,collection_amount = ?
WHERE id = ? AND deleted = ? AND lock_version = ?