← 中文资源

简体中文版本

顺序 I/O 与随机 I/O

顺序 I/O 搬运连续块、按设备带宽吞吐;随机 I/O 在位置间跳跃、逐次付访问延迟——机械盘差一到两个数量级,SSD 上收窄但依然真实。

阅读英文原文

概念定义

存储交付字节要么顺流相邻块、要么在位置间跳跃。机制不同——HDD 的寻道、SSD 的命令与闪存页开销——让两种模式定价天差地别。

工作机制

HDD 每次寻道付毫秒,局部性就是一切。SSD 没有磁头,但每个操作带提交开销,闪存擦除块语义也偏爱聚簇写与更大传输单元。队列深度能部分隐藏 SSD 的每操作延迟:大量并行随机操作可以逼近顺序带宽。

使用场景

写密集表的键序设计、分析查询的索引与扫描抉择、日志与记录的文件布局、顺序消费者的预读调优。吞吐主导时,用缓冲、批处理与日志结构化写把随机转成顺序。

常见误区

“SSD 让访问模式无关”只对了寻道那半:小随机操作仍付逐命令开销,顺序仍然更快;高队列深度收窄差距的同时把压力转嫁给设备 CPU 与延迟尾部。数据库里“索引查找永远最优”不成立——大范围占比下,一次顺序表扫胜过成千上万次随机索引寻道。碎片会悄悄爬升:原本顺序的文件散落,代码没变吞吐减半;单线程合成基准也代表不了生产里的并行真相。