mysql interatcive_timeout、wait_timeout超时参数设置是否合理也要关注
报错:
某系统使用mysql数据库,系统服务窗口是5x8。系统试运行发现早上经常应用连接报错。经查是超时参数设置有关,默认设置下,一个连接空闲时间超过8小时后,mysql 就会断开该连接,如果应用再有请求,连接池就会把已经失效的连接返回给客户端,客户端在使用该失效连接的时候就报错。
调整:
1、调整my.cnf 超时参数
[mysqld]
interatcive_timeout = 31536000
wait_timeout = 31536000
因为上述两个参数默认的值是8个小时,直接调整为两个参数最大值31536000,有点暴力但是也可解决问题。
2、调整连接池设置会话保活机制。
小结:
实际上关于上述超时参数,在特别重要的高并发交易系统应该通盘考虑超时参数时间,比如设置为72小时。特别建议应用连接池设置好保活机制。