参数意义:
管理池大小和连接时间的配置
参数定义转载: https://blog.csdn.net/zhanghanlun/article/details/80918422
参数 | 默认值 | 解释 |
maxIdleTime | 0 | 连接的最大空闲时间,如果超过这个时间,某个数据库连接还没有被使用,则会断开掉这个连接; 如果为0,则永远不会断开连接 |
maxConnectorAge | 0 | 连接的最大绝对年龄,单位是秒; 0表示绝对年龄无限大 |
maxIdleTimeExcessConnection | 0 | 为了减轻连接池的负载,当连接池经过数据访问高峰创建了很多连接,但是后面连接池不需要维护这么多连接,配置不为0,则将连接池的数量保持到minPoolSize; 如果设定为10,则10s后 会自动回收大余minPoolSize定义的多余连接 |
idleConnectionTestPeriod | 0 | 每隔多少秒,进行检测一次会话连接,执行对应语句进行保活 |
断开的原因:
如果我们只设定了 maxIdleTime 没有设定 maxIdleTimeExcessConnection, 那么maxIdleTime周期后,没有活跃的会话会自动断开,自动创建少于minPoolSize对应的连接.
建议: maxIdleTIme保持默认值不变, 单独设定maxIdleTimeExcessConnection=180,这样 高峰期创建的多余连接池minPoolSize的连接180s后,会自动回收.
如果maxIdleTimeExcessConnection保持默认值不变,会话永远不会断开, 每个检测周期后,连接时间从0开始计时.