0

我的网站最近遇到了 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

这看起来好吗?当然,一旦我添加了这一点,该站点似乎加载得更好了,并且日志文件还没有写入任何内容......

4

1 回答 1

2

考虑启用然后检查慢查询日志,以帮助您找到有问题的查询。

您还说您“检查了每个 MySQL 查询” - 怎么样?您是否EXPLAIN为所有人制定了计划?有时查询的行为方式可能出乎您的意料。

于 2012-04-25T16:28:17.563 回答