我正在使用hikariCP,我可以在管家看到最大连接数为10但是计算不匹配如下面的givern,在pool-2中我可以看到总共10但是等待24,这是一个问题吗?
|DEBUG|Hikari Housekeeping Timer (pool HikariPool-0)|||com.zaxxer.hikari.pool.HikariPool|Before cleanup pool stats HikariPool-0 (total=10, inUse=0, avail=10, waiting=0)
|DEBUG|Hikari Housekeeping Timer (pool HikariPool-0)|||com.zaxxer.hikari.pool.HikariPool|After cleanup pool stats HikariPool-0 (total=10, inUse=0, avail=10, waiting=0)
|DEBUG|Hikari Housekeeping Timer (pool HikariPool-1)|||com.zaxxer.hikari.pool.HikariPool|Before cleanup pool stats HikariPool-1 (total=10, inUse=0, avail=10, waiting=0)
|DEBUG|Hikari Housekeeping Timer (pool HikariPool-1)|||com.zaxxer.hikari.pool.HikariPool|After cleanup pool stats HikariPool-1 (total=10, inUse=0, avail=10, waiting=0)
|DEBUG|Hikari Housekeeping Timer (pool HikariPool-2)|||com.zaxxer.hikari.pool.HikariPool|Before cleanup pool stats HikariPool-2 (total=10, inUse=10, avail=0, waiting=24)
|DEBUG|Hikari Housekeeping Timer (pool HikariPool-2)|||com.zaxxer.hikari.pool.HikariPool|After cleanup pool stats HikariPool-2 (total=10, inUse=10, avail=0, waiting=24)
|DEBUG|HikariCP connection filler (pool HikariPool-2)|||com.zaxxer.hikari.pool.HikariPool|After fill pool stats HikariPool-2 (total=10, inUse=10, avail=0, waiting=24)
|DEBUG|Hikari Housekeeping Timer (pool HikariPool-3)|||com.zaxxer.hikari.pool.HikariPool|Before cleanup pool stats HikariPool-3 (total=10, inUse=0, avail=10, waiting=0)
|DEBUG|Hikari Housekeeping Timer (pool HikariPool-3)|||com.zaxxer.hikari.pool.HikariPool|After cleanup pool stats HikariPool-3 (total=10, inUse=0, avail=10, waiting=0)
|DEBUG|Hikari Housekeeping Timer (pool HikariPool-4)|||com.zaxxer.hikari.pool.HikariPool|Before cleanup pool stats HikariPool-4 (total=10, inUse=0, avail=10, waiting=0)
|DEBUG|Hikari Housekeeping Timer (pool HikariPool-4)|||com.zaxxer.hikari.pool.HikariPool|After cleanup pool stats HikariPool-4 (total=10, inUse=0, avail=10, waiting=0)
|DEBUG|HikariCP connection closer (pool HikariPool-4)|||com.zaxxer.hikari.pool.PoolUtilities|Closing connection com.sybase.jdbc4.jdbc.SybConnection@5129f018
|DEBUG|Hikari Housekeeping Timer (pool HikariPool-5)|||com.zaxxer.hikari.pool.HikariPool|Before cleanup pool stats HikariPool-5 (total=10, inUse=0, avail=10, waiting=0)
|DEBUG|Hikari Housekeeping Timer (pool HikariPool-5)|||com.zaxxer.hikari.pool.HikariPool|After cleanup pool stats HikariPool-5 (total=10, inUse=0, avail=10, waiting=0)
答案 0 :(得分:2)
似乎一切都好。您所看到的只是24个等待免费连接的连接请求。
HikariCP(主要)取决于minimumIdle
和maximumPoolSize
[设置](https://github.com/brettwooldridge/HikariCP#configuration-knobs-baby)。 minimumIdle
默认为maximumPoolSize
的任何值。 maximumPoolSize
默认为10。
我猜测您的池正在使用默认配置,这可以解释这24个等待请求。如果您的系统需要更多可用连接,请尝试增加maximumPoolSize
的值并将minimumIdle
设置为10.
当池启动时,它将建立10个连接(空闲),并将它们提供给任何请求它们的人。然后,当所有连接都在使用时,它将产生更多的maximumPoolSize
个连接。一段时间后,当它们不再使用时,这些连接将被破坏,只保留minimumIdle
中的前10个。
每当你调整你的游泳池时#35;设置,考虑您的数据库的配置,限制以及第三方访问它的影响。