记录一次未设置数据库连接池超时回收引发的血案

本文记录了一次由于未设置数据库连接池超时回收导致的系统卡死事件。分析了大量查询SQL占用连接未释放的情况,并介绍了如何在Druid数据源中配置超时回收,设置removeAbandonedTimeout为300秒来解决此问题。同时对配置单位差异进行了探讨,并表达了对技术提升和职业发展的思考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记录一次未设置数据库连接池超时回收引发的血案

Java渣渣程序员进阶者,大神们多多指教

由于该项目是内网项目,无法远程,运维方是伙伴公司,现场运维截取到如下报错信息
标红
从图片可以看出,请求获取不到数据库连接,系统处于卡死状态。然而系统设定数据库最大连接数为500,最大连接数也就是系统最大并发数,好像一般设定100就够了(好像设置太大了也不好,参考链接:1.你真的知道如何设置数据库连接池的大小吗? 2. 数据库连接池到底应该设置多大?),该系统用户数又只有两三千人,应该足够用了(参考:在线用户和并发用户的比例关系)。
继续分析图中报错信息,(runningSqlCount…… )有大量的查询sql占用连接池未释放(不得不说我们公司平台太烂,技术老,写代码都不考虑性能问题。自己又是个菜鸡,工作任务也多,有心无力)。于是在同事提点下,参考:1. Druid配置参数详解 2. Druid参数调优 3.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值