您的位置:首页 > 数据库 > MySQL

MYSQL的wait_timeout与连接池相关

2016-07-20 18:38 309 查看
mysql有一个很重要的配置参数   wait_timeout    它代表着连接长时间空闲的的情况下如何管理

当你的程序出现数据库连接问题的时候,第一时间要检查wait_timeout。它的默认值是28800,即等待8小时后关闭。原本此值是一个非常重要数据,必须谨慎配置。但是网上经常有人建议配置很高来解决问题,其实这是一个坑,过高的配置在遇到程序退出时(或者业务频繁启动关闭),连接无法主动释放,然后数据库就一直等待直到wait_timeout,如果多次出现这种情况,那将会耗尽数据库连接资源。

正确的配置方式是根据自己业务的情况合理配,在业务很稳定的情况下可以提高配置值。在业务经常需要启动关闭的情况下适当调低。调整后,在连接池配置中也应该修改长时间连接连接有效性检查的相关配置,如下(仅作建议,请自行测试)

c3p0配置

idleConnectionTestPeriod  为 wai_timeout的50%

dbcp配置  (tomcat连接池)

timeBetweenEvictionRunsMillis 为 wai_timeout的50%

proxool 配置

maximum-connection-lifetime 小于 wai_timeout
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: