之前发现,从库cpu波动性暴涨(从10%到99%),字段添加索引后(cpu 10%到40%),但是mysql占用内存还是不断升高,不会释放。发现在cpu跳到40%的时候,项目服务器的带宽很高,cpu落回10%后带宽恢复正常。在mysql中看到不断有sleep进程被kill。有没有大拿帮帮忙?

解决方案 »

  1.   

    CPU暴涨是在跑SQL的时候,这个除了优化SQL,应该没有别的办法了吧。
      

  2.   

    1、不换机器
    MYSQL监控工具--mytop
    http://www.cnblogs.com/lxwphp/p/9770597.html查一下是哪些sql执行的过多过慢需要优化,对所有的sql优化完再调参数,夜间执行要有停机时间比较长然后用iostat -xm 1监控一下磁盘,用top看cpu和内存2、换设备
    这种情况一般都是磁盘io跟不上,然后堆积到内存和cpu上了,然后找一台io性能好的机器测一下io,如果比旧的主机快,作一个异机恢复,做成原来主机的备服务器,然后找个时间切到新服务器上去看一下,我习惯在主库前边放一个负载,切的时候,停主,查binlog号主备一致,然后把负载的ip指到备机,监控一下业务,如果没问题,主库下线,备机变主机