MySQL 的wait_timeout参数
MySQL 的wait_timeout参数
swingcoder 发表于4个月前
MySQL 的wait_timeout参数
  • 发表于 4个月前
  • 阅读 5
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

下文描述了mysql的wait_timeout参数配置注意事项。简单的来讲要注意连接的程序用的是什么,是有状态的(如java,.net等)还是没状态的(如php,python等),有状态的wait_timeout连接时间要长(值范围60-259200),无状态的连接时间要短。mysql默认值是8小时。interactive_timeout(值范围10-86400)是用在shell交互时的超时时间。

其实很多性能优化的指导,都是如果无状态化。如缓存,静态化,轮循,分布式等,无状态很受欢迎。

 

Locate the timeout configuration and adjust it to fit your server.

wait_timeout = 28800
interactive_timeout = 28800
  • The interactive timeout does not affect any web application connections. A high interactive_timeout but a low wait_timeout is normal and is the best practice.

  • Choose a reasonable wait_timeout value. Stateless PHP environments do well with a 60 second timeout or less. Stateful applications that use a connection pool (Java, .NET, etc.) will need to adjust wait_timeout to match their connection pool settings. The default 8 hours (wait_timeout = 28800) works well with properly configured connection pools.

  • Configure the wait_timeout to be slightly longer than the application connection pool’s expected connection lifetime. This is a good safety check.

  • Consider changing the wait_timeout value online. This does not require a MySQL restart, and the wait_timeout can be adjusted in the running server without incurring downtime. You would issue set global wait_timeout=60 and any new sessions created would inherit this value. Be sure to preserve the setting in my.cnf. Any existing connections will need to hit the old value of wait_timeout if the application abandoned the connection. If you do have reporting jobs that will do longer local processing while in a transaction, you might consider having such jobs issue set session wait_timeout=3600 upon connecting.

共有 人打赏支持
粉丝 27
博文 218
码字总数 50810
×
swingcoder
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: