Reputation: 3154
i'm using hikariCP and i can see in housekeeping that max connections are 10 but there is calculation mismatch as givern below, in pool-2 i can see total 10 but waiting 24, is that a problem ?
|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)
Upvotes: 0
Views: 3117
Reputation: 710
It seems that everything is ok. What you're seeing is just 24 connection requests waiting for a free connection.
HikariCP depends (mainly) on minimumIdle
and maximumPoolSize
[settings] (https://github.com/brettwooldridge/HikariCP#configuration-knobs-baby). minimumIdle
defaults to whatever value of maximumPoolSize
. maximumPoolSize
defaults to 10.
I'm guessing that your pools are using the default configuration and that would explain those 24 waiting requests. If your system needs more available connections, try increasing the value for maximumPoolSize
and set minimumIdle
at 10.
When the pool boots up, it will establish 10 connections (idle) and it will give them to whoever requests them. Then, when all connections are in use, it will spawn some more up to maximumPoolSize
connections. After some time, when they're no longer in use, these connections are destroyed maintaining only the first 10 from minimumIdle
.
Whenever you're tweaking your pools' settings, take into account your database's configuration, limits and the influence of third parties accessing it.
Upvotes: 2