是一个商城系统,ZENCART的点击量每天也有几十万次吧现在是我的独立服务器基本上无法连续运行24小时过,
一般连续运行不到20小时,就会出现数据库停止不运行的情况。
这时当然就无法连接数据库了。但是其它方面没问题的,象APACHE,PHP都是能正常运行的,而且页面还可以打开,就是MYSQL停止不运行了,这个时候只有重启服务器才可以继续运行。所以我感觉是MYSQL内存占用过大,所以MYSQL停止了象这种问题我该如何来解决呢?总不能不用MYSQL了吧max connections 这个值目前设置的是175
interactive timeout这个值是 28800
wait timeout  这个值是 2
请问跟上面三个值有关系吗?另外就是,是不是max connections 我设置小一点,比如10,当达到这个值后,MYSQL进程就会重新启动呢?因为现在的服务器一停,就数据库几小时连接不上,除非重启服务器。
如果想让MYSQL服务自动重启的话, max connections 是不是要设置为 10 ,这样达到这个值的时候MYSQL服务是否会自动重启呢?

解决方案 »

  1.   

    此类问题,你要把出问题锁定在哪个页面中,
    再查看执行的那条语句,把语句单独在mysql执行。找出原因,所以一般不要去改到apache。原因最多的是while,for,进入死循环所致。
      

  2.   

    跟死循环没任何关系程序都运行一年多了,没啥问题主要是访问量一大,MYSQL会停掉不知道MYSQL到底能承受多大压力,感觉压力一大,最先出问题的就是MYSQL我现在准备用缓存代替MYSQL,但这样改动也非常多,这样MYSQL等于是很少用了实际上我现在还是不知道是什么原因导致,难道MYSQL就这样脆弱?
      

  3.   

    连接数175,有点小。
    另外,由于是PHP的,可能经常有死连接。你可以写个脚本,定期杀掉那些死连接。
    网上有很多例子。
      

  4.   

    mysql当掉了,访问的连接数过大造成的。查看mysql连接数,
    show processlists;
      

  5.   

    具体查看mysql的错误日志和二进制日志从中分析一下什么原因造成
    mysql当掉原因。是调整mysql配置参数,还是调整mysql的
      

  6.   

    具体查看mysql的错误日志和二进制日志从中分析一下什么原因造成
    mysql当掉原因。是调整mysql配置参数,还是调整mysql的架构。
      

  7.   

    我又仔细分析了一下,最终原因是跟内存使用百分比有关的如果我的服务器内存使用达到 80% 的时候,基本上就会出现数据库连接不上如果内存使用达到 90% ,那服务器就会打不开了
    所以最终原因,还是内存占用过大的问题但我不知道如何来解决这个问题,上面这位版主说的有很多死连接,这应该是一个原因,不知道怎样才能把这些死连接进程全杀掉,有这样的PHP脚本吗,还是服务器上哪里设置?
    我做了优化,把很多MYSQL查询的地方全改为数组来实现,比如有8000个产品,每个对应一个不同的产品价格,以前是每次都从数据库通过产品ID来查这个产品价格。现在我改为将这8000个产品定义为数组,KEY就是产品ID,VALUE就是产品价格,然后每次调用产品时,直接使用这个数组的值,就可以得到产品价格了,这样就省去了调用数据库。难道这样做不对吗?因为大家所熟悉的一些把数据缓存到内存中的做法,都是这样的吧。
    省去了从硬盘拿数据,又省去了调用MYSQL进程。便做了数组定义内存中以后,服务器死机更快了,我真不知道该如何去优化了。
      

  8.   

    慢查询我不太懂是什么但我写的数据查询,基本都是简单查询,没什么很复杂的
    别的查询就是ZENCART的标准查询,应该没什么BUG因为我要大量用API拿产品数据,空间商说跟用 file_get_contents和CURL 大量拿数据也有关
      

  9.   

    show variables like '%memory%'
    show variables like '%cache%'
    看看都有哪些值,
    调整一下
      

  10.   

    空间商又帮我查了下原因,并不是因为MYSQL运算量大,造成的内存吃紧而是我的网站流量太大,API调用量太占内存,所以造成程序进程内存点用过大这样会影响到MYSQL,所以MYSQL就停了,反正不管是哪个进程耗内存,MYSQL最后都会因为内存不足而停止,
    至少现在MYSQL停止的原因找到了,那就是内存不够用,也就是MEMERY USED占的百分比太大了。所以现在我的优化重点要放在如何减少内存占用上
      

  11.   

    贴my.cnf
    还有内存实际有多大?