一次完整的磁盘IO所花费的时间
读写磁头在磁盘扇区上读取或者写入数据,一次磁盘IO所花费的时间:
- 寻道时间
指的是读写磁头移动到正确半径上所需要的时间,寻道时间越短,磁盘IO操作越快。
一般我们的寻道时间是3-15ms,主流的磁盘寻道时间是5ms。 - 旋转延迟时间
找到正确的磁道后,读写磁头移动到正确位置上所消耗的时间。
我们一般去磁盘旋转周期的一半作为旋转延时的近似值。
7200转/分 -> 120转/秒 一半: 1/240秒 = 4.17ms - 数据传输
指的是将数据从磁盘盘片读取或者写入的时间,一般是0.几毫秒,可以忽略不计。
一次磁盘IO的时间:5ms+4.17ms = 9.17ms
磁盘IO到底为什么这么慢?
跟内存比一比:
读取一次数据,一般是100ns;1ms = 10^6ns = 100w ns
磁盘IO:9.17 * 100w ns
内存:100ns
9.17 * 10^4 将近9万倍
磁盘IO分为随机读写和顺序读写
顺序读写:速度很快,如mysql里面的binlog redo日志
随机读写:速度相对较慢耗时
数据页是双向链表,数据页里面的数据行是单向链表

索引树结构



本文详细介绍了磁盘IO操作的过程及耗时原因,包括寻道时间、旋转延迟时间和数据传输时间等概念,并比较了磁盘IO与内存访问的速度差异。

被折叠的 条评论
为什么被折叠?



