【问题标题】:HikariCP: maxLifetime and idleTimeout with fixed-size poolHikariCP:具有固定大小池的 maxLifetime 和 idleTimeout
【发布时间】:2016-04-08 06:02:54
【问题描述】:

我想知道 maxLifetimeidleTimeout 设置在固定大小的 Hikari 池中的行为。

在什么情况下连接会从固定大小的池中退出?并且由于池是固定大小的,是否会在停用后立即创建新连接?

此外,如果数据库本身(在我的例子中是 MySQL)在达到数据库等待超时后关闭连接会发生什么情况(如果maxLifetime 不小于数据库超时)?

连接是否会从固定大小的池中退出并立即创建另一个连接?

谢谢!

【问题讨论】:

标签: hikaricp


【解决方案1】:

当连接达到其 maxLifetime 或连接在池中保持空闲状态 idleTimeout 时,HikariCP 将退出连接。

HikariCP 管家默认每 30 秒运行一次。为了维护“minimumIdle”连接,它可能会添加新连接或停用空闲连接(客户端不会为 idleTimeout 毫秒借用)。

您必须将 maxLifetime 设置为比 (mysql)wait_timeout 少几分钟以避免连接中断/异常。

HikariCP 可能会在管家或客户端尝试借用连接时添加新连接。因此它可能不会在停用它们后立即添加连接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-17
    • 1970-01-01
    • 2015-05-13
    • 2017-08-25
    • 1970-01-01
    • 1970-01-01
    • 2010-12-23
    相关资源
    最近更新 更多