`
baalwolf
  • 浏览: 344528 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql 线程等待时间,解决sleep进程过多的办法

 
阅读更多

 show processlist 看了以下,发现我的那个业务的DB确实有很多sleep链接没有关闭。



以前也曾遇到过类似的问题,导致此问题的原因从网上查了,大体有几下几种原因:

造成睡眠连接过多的原因?

 

1. 使用了太多持久连接(个人觉得,在高并发系统中,不适合使用持久连接)

2. 程序中,没有及时关闭mysql连接

3. 数据库查询不够优化,过度耗时。

 

 

对于正在运行中的生产服务器,在不能停止服务情况下,修改此项怎么办?很简单,以root用户登录到mysql,执行:
set global wait_timeout=100
 
mysql的配置文件中,有一项:
 
wait_timeout, 即可设置睡眠连接超时秒数,如果某个连接超时,会被mysql自然终止,多好的办法!
 
如设置: 
 
wait_timeout=100#即设置mysql连接睡眠时间为100秒,任何sleep连接睡眠时间若超过100秒,将会被mysql服务自然终止
 
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics