微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Hikari CP - Hikari 的封闭连接在数据库服务器中仍然存在

如何解决Hikari CP - Hikari 的封闭连接在数据库服务器中仍然存在

我正在使用 Spring Boot 应用程序连接到在 Azure 网络安全组后面运行的远程 Postgresql 服务器 (9.2)。

当我将 hikari 属性设置为认值(意味着 maxLifetime 为 30 mts)时,我经常遇到 Connection Unavailable 异常。在研究中我发现,服务器关闭的连接由于其生命周期仍保留在池中,因此为了解决该问题,我将 Connection 对象的生命周期减少到 5 分钟,池大小为 2。以下是 hikari我设置的属性

spring.datasource2.hikari.max-lifetime=300000
spring.datasource2.hikari.maximumPoolSize=2

logging.level.com.zaxxer.hikari=TRACE
logging.level.com.zaxxer.hikari.HikariConfig=DEBUG

我只限制了 20 个来自 Postgres 的允许连接,它不是由我管理的,我有访问限制。由于 hikari 通过关闭 Spring Boot 应用程序中的连接每 5 分钟创建两个新对象,因此我发现 Postgres 服务器中使用 pg_stat_activity 查询轰炸了太多连接,并且我为用户获得了太多连接。

我尝试在连续尝试中将连接对象的 maxLifeTime 增加到 10、15 和 20 分钟,但我仍然可以看到来自数据库服务器端的更多连接

被 Hikari 关闭的连接在 Postgres 服务器中没有关闭。 Postgres 服务器中连接保持活动或空闲的认值/时间是多少?我该如何解决这个问题?

或者有没有办法通过 Hikari 关闭 Postgresql 服务器上的连接?

我想保持池大小为 2,因为我只有 20 个允许的总连接

先谢谢你!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。