Java HikariCP中的计算失配

Java HikariCP中的计算失配,java,connection-pooling,hikaricp,Java,Connection Pooling,Hikaricp,我正在使用hikariCP,我可以在客房管理中看到最大连接数为10,但存在计算不匹配,如下所示,在池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) |DEB

我正在使用hikariCP,我可以在客房管理中看到最大连接数为10,但存在计算不匹配,如下所示,在池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) 

看来一切都很好。您看到的只是24个连接请求等待免费连接

HikariCP(主要)取决于
minimumpidle
maxiumpoolsize
[设置]()
minimumpidle
默认为
maximumPoolSize
的任何值
maximumPoolSize
默认为10

我猜您的池使用的是默认配置,这可以解释这24个等待的请求。如果系统需要更多可用连接,请尝试增加
maximumPoolSize
的值,并将
minimumIdle
设置为10

当池启动时,它将建立10个连接(空闲),并将它们提供给任何请求它们的人。然后,当所有连接都在使用中时,它将产生更多的连接,最多可达
maximumPoolSize
connections。一段时间后,当它们不再使用时,这些连接将被破坏,只保留
minimumIdle
中的前10个连接


无论何时调整池的设置,都要考虑数据库的配置、限制以及第三方访问的影响。

在提高
最大池大小之前。一般来说,如果
maximumPoolSize
在数据库的TPS峰值附近进行了调优,则需要挂起(等待)线程。我猜10可能非常接近这个数字。将连接池增加到30-40个连接将显示“waiting=0”和“in use=34”,但实际上在实际执行这些查询时,您可能会变得更慢,而不是更快。您找到解决方案了吗?@Amey Jadiye