最近,我的 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/log
my.cnf 中是否有,如果启用了,则将其终止。可能只是写入 binlog 就会这么慢,但对于典型的 Web 应用程序来说不太可能。