Mysql 5.0.67,有1000多个连接,全部是sleep,很消耗服务器资源。检查所有代码,没有pconnect,服务器也有防火墙禁止3306。什么原因?

解决方案 »

  1.   

    正常的,要是没有长链接 你可以设置到达一定时间关闭这些sleep
      

  2.   


    interactive timeout   1000
    wait timeout   100sleep还是不停的增长
      

  3.   


    全部是web, 没有需要执行很长时间的页面,大多都加了close。另外,即使不加close,php执行完后也会自动关闭数据库连接,可我现在的情况是,同一个ID的mysql连接,只要不重启就不消失,且持续增长
      

  4.   

    在服务器上执行netstat -a,除正常http外,还有好多类似这样的连接, 总数跟mysql的sleep数量差不多,是否有关系?unix  3      [ ]         STREAM     CONNECTED     4647232 /tmp/mysql.sock
    unix  3      [ ]         STREAM     CONNECTED     4647231 
    unix  3      [ ]         STREAM     CONNECTED     4640689 /tmp/mysql.sock
    unix  3      [ ]         STREAM     CONNECTED     4640688 
    unix  3      [ ]         STREAM     CONNECTED     4634425 /tmp/mysql.sock
    unix  3      [ ]         STREAM     CONNECTED     4634424 
    unix  3      [ ]         STREAM     CONNECTED     4627812 /tmp/mysql.sock
    unix  3      [ ]         STREAM     CONNECTED     4627811 
    unix  3      [ ]         STREAM     CONNECTED     4620632 /tmp/mysql.sock
    unix  3      [ ]         STREAM     CONNECTED     4620631 
    unix  3      [ ]         STREAM     CONNECTED     4613463 /tmp/mysql.sock
    unix  3      [ ]         STREAM     CONNECTED     4613462 
    unix  3      [ ]         STREAM     CONNECTED     4607386 /tmp/mysql.sock
    unix  3      [ ]         STREAM     CONNECTED     4607385 
    unix  3      [ ]         STREAM     CONNECTED     4602260 /tmp/mysql.sock
    unix  3      [ ]         STREAM     CONNECTED     4602259 
      

  5.   


    基本都有关闭连接,全部是同一台服务器的PHP访问,没有客户端之类。检查了所有的代码,没有pconnect,但这1000多个连接不是更替出现,是一直存在,直到下次重启服务器。
      

  6.   

    是否使用了连接池。建议到PHP版咨询一下。
      

  7.   

    拆分后问题依旧,排除所有代码问题。 在crontab中检查,原来是一采集系统的bug感谢各位的热心关注。