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