答案 0 :(得分:3)
最可能的解释是,您正在运行大量使用临时空间的查询。但这只是猜测,因为您没有提供有关MySQL服务器中运行的内容的信息。
使用GROUP BY
或ORDER BY
或DISTINCT
来使用临时空间的MySQL查询很常见。有时会有很多临时空间,或者有时会有一点空间,但每秒钟会有很多查询。这可以解释报告的磁盘I / O速率。
您可以通过仔细优化查询来减少这种情况,以便它们使用索引而不是在磁盘上的临时空间中进行排序或分组。查询优化的主题很大,而且无法覆盖Stack Overflow帖子。
如果您需要有关优化特定查询的帮助,则应该询问该查询的问题,以及查询中每个表的SHOW CREATE TABLE
和SHOW TABLE STATUS
的输出。
磁盘I / O的其他用途可以快速发生。
例如,如果您的缓冲池太小,并且您的查询反复扫描完整的200MB数据,那么MySQL服务器将被强制一遍又一遍地替换缓冲池中的页面,每次从磁盘读取相同的数据时间。如果您可以为缓冲池分配更多RAM,则可以降低页面回收率,并可能大大加快您的整体性能。
另一个例子是,如果您使用UPDATE
一遍又一遍地更改数据,您可能会在事务日志和二进制日志中写入大量I / O,即使数据的总大小也是如此没有成长。
调整数据库服务器是一个复杂的过程。如果您需要帮助调整MySQL选项,最好在dba.stackexchange.com上询问。在mysql.ini
中包含您的MySQL版本和当前选项。