日常 - 顺序读写与随机读写

文章目录

  • 前言
  • 顺序读写
  • 随机读写
  • 对比
  • 资源


前言

日常 - 顺序读写与随机读写_第1张图片
每当需要访问磁盘驱动器上的时,机械手臂必须将磁头移动到正确的轨道(寻道时间),然后磁盘盘片必须旋转以找到正确的扇区(旋转延迟),这种机械动作需要时间完成。

顺序读写

在读写磁盘上的块时,如果下一个块恰好位于同一轨道上的前一个块之后,则磁盘头将立即遇到它,从而没有等待时间(即没有延迟),这便是一个顺序读写

随机读写

倘若块在磁盘上的其它地方,那么需要磁头进行寻道且盘片进行旋转进行查找,那么这便是随机读写

对比

顺序读写与随机读写的差异便是随机读写多出的寻道时间旋转延迟,如果只是少量读写可能只是几毫米的花费,但如果是高频(高并发)读写,那么这个花费也将扩大,导致系统性能下降,此时可以考虑将随机读写转为顺序读写。

例如 MySQL 中的 Redo Logging 采用的 WAL 机制也是采用顺序写,以及 Kafka 的持久化处理。

性能对比

顺序 随机
84.0MB/s 0.226MB/s
79.0MB/s 0.576MB/s

资源

MySQL - Optimizing InnoDB Redo Logging
Kafka - Persistence
磁盘随机读写与顺序读写性能对比
磁盘 I/O 那些事

你可能感兴趣的:(日常,IO,顺序读写,随机读写)