欢迎光临
我们一直在努力

苹果CMS及海洋cms程序mysql数据库占用CPU高的优化方法

大部分影视站长都用过苹果CMS或海洋cms做站,白天正常,一到晚上高峰期的时候,cpu持续400%的跑(4核心CPU),很快就将负载占满,导致网站处于一种假死的状态之下,能打开,却非常的缓慢。
在处理这个问题的时候,走路了不少的弯路。最开始的时候因为网站对接了好几个机器人进行搜索,以为是搜索的原因导致的CPU跑满,于是停止过一段时间的机器人,有点效果,但是不明显,可以说基本没有什么改善。
这时候,想到了和coerseek进行对接来加快搜索,但是自己对接了几次都失败了,最终以放弃而告终。到这个时候,基本算是没有了什么思路了,这个时候海洋升级了Redis功能,于是开启了Redis这次效果确实是好了点了,重启mysql之后能多支撑一会,但是还是马上就还是满了。
网站继续慢,高峰期继续打不开,这个时候才开始在网上找mysql占用cpu的原因,但是网上全部都是说的对数据库进行索引,但是自己对对数据库操作不是很熟悉,不敢随便执行命令,备份了也不敢,又遇到了障碍。
无意中在一篇文章中看到说是修改数据库tmp_table_size的参数能有效缓解,于是,找到tmp_table_size进行了修改。修改方法如下:

调整参数 tmp_table_size、max_heap_table_size

这两个参数是mysql对临时表的大小控制 其中

tmp_table_size 控制内存临时表的最大值,超过限值后就往硬盘写,写的位置由变量 tmpdir 决定
max_heap_table_size 用户可以创建的内存表(memory table)的大小.这个值用来计算内存表的最大行数值。
vi /etc/my.cnf
[mysqld]
max_heap_table_size = 200M
tmp_table_size = 200M

然后重启 MySQL 服务。CPU 占用有所下降

效果还是不是很理想,在打算放弃的时候,想到以前有个站几千万数据每次索引卡住的时候使用phpmyadmin对数据库进行优化就会好,抱着试一试的想法备份数据库后优化了一次。意想不到的惊喜出现了,重启数据库进程之后CPU和负载的占用马上就下来了,观察了3天,负载一直没有超过百分之30过。自此困扰了我半个多月的问题终于给解决了。

ps: 部分站长用着宝塔面板,宝塔面板里面的数据库–>工具–>优化数据库表,建议每月一次,还有就是软件商店里mysql设置里有个性能调整,只要选择一下你当前服务器的内存大小,宝塔会给出一个优化参数的方案,只接保存,重启mysql就可以了。

历史上的今天
11月
21
    哇哦~~~,历史上的今天没发表过文章哦
赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《苹果CMS及海洋cms程序mysql数据库占用CPU高的优化方法》
文章链接:https://blog.yxflq.com/98.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享:

相关推荐

  • 暂无文章