问题:
服务日志中出现CannotGetJdbcConnectionException,如下所示,该怎么排查?
org.springframework.jdbc.CannotGetJdbcConnectionException:
Failed to obtain JDBC Connection;
nested exception is java.sql.SQLTransientConnectionException:
HikariPool-1 - Connection is not available, request timed out after 30001ms.
获取数据库连接超时,说明有查询一直占用着数据库连接,长时间没释放,这时可以考虑是否有慢查询,紧急情况下直接联系DBA帮忙查看。
另外,对于服务所使用的的数据库也需要进行一些性能和指标的监控,例如每分钟慢查询的数量、QPS、TPS、数据库连接数量等。