我是服务器端的新手,我一直在为我的网站管理一个专用的服务器。
在高峰期,网站非常慢,为了知道我为什么一直使用htop来监控它。
有些非常持久(超过几个小时)的mysql进程会占用高达95%的CPU!
问题是我不知道什么查询可能是导致它的原因,也不知道如何监控它。我确实有一个cron每一刻钟,有时需要很长的时间来运行,但减速的时间并不总是与cron的相匹配。
我听说过一种使用cron作业杀死太长的mysql进程的解决方案,但它不会导致数据库中的差异吗?
发布于 2012-11-21 19:07:54
将MySQL服务器配置为log slow queries,然后查看它们。您需要了解为什么这些查询如此缓慢。
最有可能的是,通过添加适当的索引可以加快这些查询的速度,但这并不是快速而严格的规则-您需要了解实际发生了什么。
您可以终止长时间运行的查询,但是如果您使用MyISAM引擎,它可能会损坏您的表。在这种情况下,请认真考虑切换到Innodb引擎。使用Innodb这样的事务引擎,当前运行的事务可能会回滚,但数据不应损坏。
https://stackoverflow.com/questions/13491751
复制相似问题