【发布时间】:2012-04-25 16:24:43
【问题描述】:
我的网站最近遇到了 MYSQL 的高 CPU 使用率问题。当我检查 Parallels 电源面板时,它显示:“/usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/ var/lib/mysql/exa.example.com.pid --skip-external-locking" 正在使用高百分比的 CPU,网站变得非常慢。
我检查了整个站点上的每个 MySQL 查询,没有什么会导致这样的长期问题。当我禁用站点上的路由文件时,负载会下降(几乎为 0%)。一旦重新打开,最高可达 100%。我今天上班发现服务器因此而宕机。
数据库的总记录不超过 200,000 条,分为 10 个表。我开始认为进程可能没有完成(挂起)或其他问题。您可以在站点停止之前加载一两个页面。
我应该考虑什么样的想法?我在配置 php 和 mysql 方面有点新手,所以我还没有尝试过太多。
更新:
我已将此添加到 mysql 配置文件中:
log-slow-queries = log-slow-queries.log
long_query_time = 5
log-queries-not-using-indexes
这样看起来好吗?当然,一旦我添加了它,网站似乎加载得更好了,日志文件还没有写入任何内容......
【问题讨论】:
-
当我“杀死” MySQL 进程时,服务器负载从 99.95% 下降到 5% - 30% 并且从那里变化。它最终再次爬到90年代。页面具有缓存,因此在加载页面时,它们会缓存。如果在页面加载时进程被终止,则页面将被缓存并带有 mysql 警告。这很烦人。我希望得到一些帮助:-D
标签: php mysql configuration