java 应用大量报错:无法获取 JDBC 连接

image

你的 Druid 连接池被用满了(active 20 = maxActive 20),没有空闲连接给业务使用,因此数据库写日志失败。

🔥 解决办法(保证生产稳定)
第一步:立即调整 Druid 连接池(马上能改善)

在 application.yml 或 application.properties 中,将 Druid连接池参数调整如下:

🚀 推荐生产参数(你的压力较低但并发调度多)
spring: datasource: druid: initialSize: 5 minIdle: 10 maxActive: 100 maxWait: 60000 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: SELECT 1 testWhileIdle: true testOnBorrow: false testOnReturn: false

把 maxActive 从 20 → 100(至少要 50,不建议小于 100)

然后重启应用。

第二步:确认 MySQL 能承受 max connections

你当前 MySQL 设置:

max_connections = 151

如果你:

后端服务数量多

连接池大

有其他程序也连接 MySQL

建议改为:

max_connections = 300

重启 MySQL 生效。

posted @ 2025-12-03 16:45  中午吃麻辣烫  阅读(0)  评论(0)    收藏  举报