海洋cms数据库占用CPU的一些优化心得

  • 2019-02-03
  • 983
  • 0

有个站一到晚上高峰期的时候,cpu持续400%的跑(4核心CPU),很快就将负载占满,导致网站处于一种假死的状态之下,能打开,却非常的缓慢。
在处理这个问题的时候,走路了不少的弯路。最开始的时候因为网站对接了好几个机器人进行搜索,以为是搜索的原因导致的CPU跑满,于是停止过一段时间的机器人,有点效果,但是不明显,可以说基本没有什么改善。
这时候,想到了和coerseek进行对接来加快搜索,但是自己对接了几次都失败了,最终以放弃而告终。到这个时候,基本算是没有了什么思路了,这个时候海洋升级了Redis功能,于是开启了Redis这次效果确实是好了点了,重启mysql之后能多支撑一会,但是还是马上就还是满了。
网站继续慢,高峰期继续打不开,这个时候才开始在网上找mysql占用cpu的原因,但是网上全部都是说的对数据库进行索引,但是自己对对数据库操作不是很熟悉,不敢随便执行命令,备份了也不敢,又遇到了障碍。
无意中在一篇文章中看到说是修改数据库tmp_table_size的参数能有效缓解,于是,找到tmp_table_size进行了修改,效果还是不是很理想,在打算放弃的时候,想到以前有个站几千万数据每次索引卡住的时候使用phpmyadmin对数据库进行优化就会好,抱着试一试的想法备份数据库后优化了一次。意想不到的惊喜出现了,重启数据库进程之后CPU和负载的占用马上就下来了,观察了3天,负载一直没有超过百分之30过。自此困扰了我半个多月的问题终于给解决了。

评论

还没有任何评论,你来说两句吧

鄂ICP备09018262号-4

备案鄂公网安备 42010302000542号 - Theme by Qzhai