苹果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就可以了。

码十三旨在打造网站模板素材及源码资源免费下载优质服务平台:
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"ma13.com",如遇到无法解压的请联系管理员!
声明如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.
码十三 » 苹果CMS及海洋cms程序mysql数据库占用CPU高的优化方法总结

让建站变的更简单,网站源码模板素材一网打尽!

立即查看 了解详情