【问题标题】:MYSQL writes not visible on diskMYSQL 写入在磁盘上不可见
【发布时间】:2016-12-12 17:07:52
【问题描述】:

正如您在图片中看到的,我从 MySQL 获得了 ~14-15Mb/s(也达到 50-60Mb/s)的写入,在 phpMyAdmin 中它显示每秒大约 400-500 次写入。 同样在下图中,您可以看到 IO 图表

问题是我找不到这些数据的写入位置。由于我在 mysql 中看不到任何插入/更新查询,而且当我检查目录大小时,它也是一样的。那么这些数据写在哪里呢?

编辑:RAM 也没有被使用,请查看下面的截图。

【问题讨论】:

  • 作为平底船;可能是这样的,具体取决于查询的结构,然后一些索引将使用临时表,这些临时表将被写入以产生有序/索引的输出查询。特别是。如果驱动器上没有太多可用内存?
  • @Martin:我已经编辑了这个问题,正如你在屏幕截图中看到的那样,RAM 也没有被使用。
  • 你使用innoDb吗?
  • 有一些很好的注释here 可能与您的要求有关...
  • 是的,我们正在使用 InnoDB。

标签: mysql linux io disk-io


【解决方案1】:

偶然发现了我的这个老问题,并想给出一个答案/解释。

实际上,我在前一天删除了大约 80-9000 万行。我在晚上 11 点开始删除,查询运行了大约 6-7 小时才能完成。当我使用 InnoDB 时,它只从内存中删除数据,而不是从磁盘中删除数据(起初)。一旦完成,它也开始从磁盘中擦除数据。但正如 InnoDB 的本质一样,即使在删除数据后它也不会释放磁盘,文件大小也没有变化。

当时我看到写入,并且没有运行查询(删除查询),我无法确定当时它正在从磁盘中删除数据。

虽然学习体验很好(因为 MySQL 响应缓慢,生产级服务受到影响)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-17
    • 1970-01-01
    • 1970-01-01
    • 2010-09-23
    • 2023-04-01
    相关资源
    最近更新 更多