0

我真的是服务器端的新手,我一直在为我的网站管理一个专用服务器。

在高峰时间网站非常慢,为了知道为什么我一直在使用 htop 监控它。

一些真正持久(超过几个小时)的 mysql 进程使用高达 95% 的 CPU !

问题是我不知道什么查询可能是它的原因,也不知道如何监控它。我确实每一刻钟都有一个 cron,有时需要很长时间才能运行,但减速的时间并不总是与 cron 相匹配。

我听说过使用 cron 作业杀死太长的 mysql 进程的解决方案,但它不会导致数据库中的差异吗?

4

1 回答 1

1

配置 MySQL 服务器以记录慢查询,然后查看它们。您需要了解为什么这些查询如此缓慢。

最有可能的是,这些查询可以通过添加适当的索引来加速,但这不是快速和硬性的规则——你需要了解真正发生的事情。

您可以终止长时间运行的查询,但如果您有 MyISAM 引擎,它可能会损坏您的表。在这种情况下,请认真考虑切换到 Innodb 引擎。使用像 Innodb 这样的事务引擎,当前正在运行的事务可能会被回滚,但数据不应该被破坏。

于 2012-11-21T11:07:54.393 回答