【问题标题】:Hikari minimumIdle not providing correct number of connectionsHikari minimumIdle 未提供正确的连接数
【发布时间】:2021-11-09 17:49:44
【问题描述】:

我正在尝试使用 Hikari 进行 Postgres 连接。这是设置:

    config.setMinimumIdle(20);
    config.setMaximumPoolSize(100);

但是,它似乎只有 2 个连接。我跑了netstat -ant | grep 5432后得到了这个@

tcp4       0      0  127.0.0.1.5432         127.0.0.1.53183        ESTABLISHED
tcp4       0      0  127.0.0.1.53183        127.0.0.1.5432         ESTABLISHED

还有在 Postgres 控制台SELECT sum(numbackends) FROM pg_stat_database;

 sum 
 -----
 2

(1 行)

我不确定发生了什么,感谢您的帮助!

【问题讨论】:

    标签: postgresql connection-pooling hikaricp


    【解决方案1】:

    Recommended setup 是不设置minimumIdle

    此属性控制 HikariCP 尝试在池中维护的最小空闲连接数。如果空闲连接低于此值并且池中的总连接数小于 maximumPoolSize,HikariCP 将尽最大努力快速有效地添加额外的连接。但是,为了获得最大性能和对峰值需求的响应,我们建议不要设置此值,而是允许 HikariCP 充当固定大小的连接池。默认值:与 maximumPoolSize 相同。

    看来HikariCP不太在意

    如果空闲连接低于此值... HikariCP 将尽最大努力添加额外的连接

    对您的价值的一个很好的测试可能是打开超过 20 个连接并且verify 它们在idleTimeout 期间保持在池中(默认为 10 分钟)。然后该值应保持在设置值(本例中为 20)。

    一旦连接数达到该值,将保持该最小值

    一旦池达到 minimumIdle 连接数,空闲连接将不会被淘汰。

    【讨论】:

      猜你喜欢
      • 2023-02-10
      • 1970-01-01
      • 2021-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-13
      • 2021-10-05
      相关资源
      最近更新 更多