记一次生产环境数据库连接数导致的报错问题:Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 – Connection is not available, request timed out after 30000ms.
1. 复现,定时任务失败会有错误邮件提醒,每天的七点左右就会有大量定时任务失败,报错为数据库连接超时,此时页面也无法访问,提示异常。大概持续时间为20min,过后又一切正常
2.原因:联系运维同事,发现数据库并无异常。所以大概是请求量太高导致数据库连接数不够,因为七点是会有一些定时任务,还有其他系统通过接口调用我们系统,虽然此时使用页面的人数不多。
3. 解决 : yml配置文件增加了hikari连接配置, 默认最大连接数(maximum-pool-size)为10,这里改成了60,这里按自己需求配置数量即可
附录:hikari默认配置