【问题标题】:What is Causing Such a High Load on CPU (From MySQL)?是什么导致 CPU 负载如此之高(来自 MySQL)?
【发布时间】: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


【解决方案1】:

考虑启用并检查slow query log,以帮助您找到有问题的查询。

您还说您“检查了每个 MySQL 查询”——如何?您是否为所有这些都运行了EXPLAIN 计划?有时查询的行为方式可能出乎您的意料。

【讨论】:

  • 我测试了查询并添加了限制等。我将不得不阅读有关使用慢查询日志的信息。我会尽快回复您。谢谢
  • 我在与主机公司的电话中找不到 mysql db.... 的配置文件。还有其他想法吗?
  • 您使用的是什么数据库引擎? MyISAM 还是 InnoDB?
  • 我终于找到了该文件,但我正在尝试找出要使用的命令。 MyISAM
猜你喜欢
  • 2013-03-14
  • 1970-01-01
  • 2012-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-02
  • 1970-01-01
相关资源
最近更新 更多