关于连接池之mysql篇
[TOC]
DBCP连接池
DBCP连接池的推荐配置如下:
参数名称 | 推荐配置 | 描述 |
---|---|---|
username | 用户名 | |
password | 密码 | |
url | URL | |
driverClassName | 驱动类名 | |
minIdle | 最小连接数,默认0 | |
initialSize | 初始化连接数,默认0 | |
maxTotal | 最大连接数,默认8 | |
maxWaitMillis | 获取连接超时时间,单位ms | |
maxIdle | 最大空闲连接,默认8 |
c3p0连接池
c3p0连接池的推荐配置如下:
参数名称 | 推荐配置 | 描述 |
---|---|---|
user | 用户名 | |
password | 密码 | |
jdbcUrl | URL | |
driverClass | 驱动类名 | |
minPoolSize | 最小连接数,默认3 | |
initialPoolSize | 初始化连接数,默认3 | |
maxPoolSize | 最大连接数,默认15 | |
maxIdleTime | 获取连接超时时间,单位s | |
acquireRetryAttempts | 获取连接失败后的重连次数 | |
acquireRetryDelay | 获取连接失败后重连的间隔时间 |
druid连接池
druid连接池的推荐配置如下:
参数名称 | 推荐配置 | 描述 |
---|---|---|
username | 用户名 | |
password | 密码 | |
url | URL | |
driverClassName | 驱动类名 | |
minIdle | 5 | 最小连接数,默认0 |
initialSize | 5 | 初始化连接数,默认0 |
maxActive | 20 | 最大连接数,默认8,可根据实际情况调整,机器多则每台尽量配置小点,相反就多点,但最大不允许超过30 |
maxWait | 15000 | 获取连接超时时间,单位ms |
testOnBorrow | false | 配置从连接池获取连接时,是否检查连接有效性,默认true |
testWhileIdle | true | 获取连接后是否超时检测,默认false |
timeBetweenEvictionRunsMillis | 15000 | 连接有效性检测时间,单位ms |
testOnReturn | false | 配置向连接池归还连接时,是否检查连接有效性,默认false |
minEvictableIdleTimeMillis | 300000 | 配置一个连接在连接池中的最小生存时间,单位ms |
maxEvictableIdleTimeMillis | 600000 | 配置一个连接在连接池中的最大生存时间,单位ms |
validationQuery | select 1 | |
keepAlive | true | |
phyMaxUseCount | 100000 | |
remove-abandoned | true | 开启连接池回收 |
remove-abandoned-timeout | 300 | 超时连接回收时间,单位s |
Hikari连接池
Hikari连接池的推荐配置如下:
参数名称 | 推荐配置 | 描述 |
---|---|---|
username | 用户名 | |
password | 密码 | |
jdbcUrl | URL | |
minimumIdle | 10 | 池中最小空闲连接数量,默认10 |
maximumPoolSize | 20 | 池中最大连接数(包括空闲和正在使用的连接),默认10 |
maxLifetime | 1800000 | 默认1800000毫秒 |
connectionTimeout | 60000 | 连接超时时间,默认30000毫秒 |
validationTimeout | 默认5000毫秒 | |
loginTimeout | 默认30 | |
idleTimeout | 600000 | 默认600000毫秒 |
cachePrepStmts | true | xxx |
isAutoCommit | true | 默认true |