MySQL 运行时 CPU 消耗 >=100%,磁盘 I/O 占用高吗?

MySQL 运行时 CPU 消耗 >=100%,磁盘 I/O 占用高吗?

最近,我的 Debian Linux 服务器的 Web 服务器响应时间一直很慢。我调查了一下,似乎 MySQL 是罪魁祸首,但慢查询日志中没有显示任何慢查询,当我检查 SHOW FULL PROCESSLIST 时,我必须快速查看实际正在运行的查询(因为它们完成得非常快)。

我注意到,当 MySQL 速度缓慢时,磁盘 I/O 速度会显著降低。根据 hdparm 的说法:

 Timing cached reads:   8012 MB in  2.00 seconds = 4009.64 MB/sec
 Timing buffered disk reads:   2 MB in  3.29 seconds = 623.18 kB/sec

当禁用 MySQL 时,缓冲磁盘读取速度会上升到大约 120 MB/秒。

关键是,什么原因导致服务器上其他进程的常规 I/O 速度受到严重影响?MySQL 是否需要某种优化?

在此先感谢您的任何建议。

答案1

您是否启用了完整查询日志?检查log=/path/to/logmy.cnf 中是否有,如果启用了,则将其终止。可能只是写入 binlog 就会这么慢,但对于典型的 Web 应用程序来说不太可能。

相关内容