概述
HikariCP是Spring Framework 5.0的默认 数据库连接池,这得益于他的高性能。但是如果配置不当,数据库连接池也可能因影响到系统性能。重要参数
- maximum-pool-size
- minimum-idle
- pool-name
- auto-commit
- idle-timeout
- max-lifetime
- connection-timeout
初始化过程和连接创建逻辑
当HikariCP初始化时候,会将添加连接到池中,直到达到minimum-idle的数量,此时保持这个状态。当有新的连接池请求时,HikariCP会返回一个connection的代理。当connection都处于使用状态时,若此时有新的连接池请求,HikariCP就会继续新建connection直到达到maximun-pool-size。
maximum-pool-size
池中最大连接数(包括空闲和正在使用的连接)。默认值是10,这个一般预估应用的最大连接数,后期根据监测得到一个最大值的一个平均值。要知道,最大连接并不是越多越好,一个connection会占用系统的带宽和存储。但是 当连接池没有空闲连接并且已经到达最大值,新来的连接池请求(HikariPool#getConnection)会被阻塞直到connectionTimeout
(毫秒),超时后便抛出SQLException。