Ubuntu 服务器上 mysql CPU 负载过高的问题

Ubuntu 服务器上 mysql CPU 负载过高的问题

我在生产 Ubuntu 8.04 服务器上运行 MySQL 5。提供两个独立的基于 php 的站点,这两个站点都涉及大量 mysql 查询。

我注意到,当我请求第一个网站上的页面时,mysql 的 CPU 负载达到 100%,持续 1 分钟,而第二个网站的登录页面甚至无法提供服务。似乎 mysql 完全占用了 CPU,以至于在此期间甚至连要求不高的任务都无法完成。有没有办法解决这种情况?问题的真正原因在哪里?

谢谢。

答案1

如果不深入研究两个应用程序的工作负载,很难给出一个好的解决方案,但基本上你有几个选择。要么修复代码,这样它就不会导致数据库暂时锁定,要么实现一些缓存(memcache/squid),要么升级 mysql 框,要么获得第二个框。你应该做一些基本的 mysql 检查,比如确保你启用了查询缓存并尽可能多地利用内存。

相关内容