MySQL 突然变慢的潜在原因是什么?

Tho*_*ang 6 mysql performance

前几天mysql突然变得很慢,查询需要10多秒才能完成,而以前是100ms以内完成的……大概持续了一个小时,然后速度又恢复正常了。什么会导致这样的问题?

更多信息: mysql 版本是 5.0.51a mysql 数据库位于一个具有 1.5 GB ram 的专用盒子上。当 mysql 服务器很慢时,没有使用交换。

这是来自数据库http://pastebin.com/au6yMWqQ的 mysqlreport没有一个缓存已满..

我注意到服务器用于解析主机名的 DNS 服务器最近有时有点慢。这会产生影响吗?

谢谢,我已经在 serverfault 上交叉发布了这个,希望没问题...

编辑:我可以尝试在 ec2 上进行主主复制以防止问题再次发生吗?连接到mysql数据库的实例有一半在ec2上(其余的直接来自layeredtech)

Rol*_*DBA 3

您可以尝试以下方法来改善情况

跳过主机缓存跳过名称解析

请按照以下步骤操作:

步骤01)将以下内容添加到/etc/my.cnf

[mysqld]
skip-host-cache
skip-name-resolve
Run Code Online (Sandbox Code Playgroud)

步骤02)service mysql restart

步骤03)停止使用具有DNS名称的mysql用户。运行这样的查询:

SELECT user,host FROM mysql.user;
Run Code Online (Sandbox Code Playgroud)

任何拥有 DNS 名称的用户,只需将其替换为 IP 地址(例如 10.85.115.73)或网络块(例如 10.85.115.%)

您可能还想间歇性地运行此命令(例如在 crontab 中每小时运行一次)

FLUSH HOSTS;
Run Code Online (Sandbox Code Playgroud)

试一试 !!!