我在使用 Ubuntu 12.04 和 MySQL 时遇到了一个非常奇怪的 IO 问题。
目前,该机器只是一个复制的从属机器,偶尔会有读取查询命中它。磁盘利用率随机飙升,似乎与 MySQL 使用情况无关。该机器仅运行 MySQL,没有其他服务。
最初,这台机器使用的是 ext4,它与 MySQL 之间存在 IO 问题,我将其清除并重新安装为 ext3。在恢复复制后,磁盘利用率再次随机飙升,在几个小时内保持高位,然后再次下降。
MySQL 的使用率每天都遵循相同的模式,但磁盘利用率却没有模式,它会随机出现峰值,并可能持续数小时或几分钟。 每晚凌晨 1 点会出现峰值,此时我们的 MySQL 备份 (mysqldump) 运行并且保持一致。
我的下一步是降级到 Ubuntu 10.04,这台机器之前运行 Debian 5 没有任何问题。我们有第二台相同的机器,也有同样的问题,在我看来,这排除了单个硬件问题。
磁盘利用率图表:
下午 5 点的初始峰值是重新安装后复制的追赶,凌晨 1 点的峰值是我们的备份。问题在凌晨 4 点出现,并且一直很高,直到 12 点之后才急剧下降。
MySQL 每周图表
这是我们一周的平均 MySQL 使用情况。每天都是同样的模式,上午 9 点到晚上 11 点最繁忙,从上午 9 点到次日上午 9 点较为安静,最低点每天在凌晨 4 点左右。
问题发生时的 Iostat 输出:
/proc/挂载:
DF-H: