前言
在阅读常用的一些大数据组件时,经常会看到一个名词"磁盘顺序写",本文就磁盘的写入方式及为什么存在新能差异做简单的阐述。
磁盘读取时间基本概念
- 寻道时间,表示磁头在不同磁道之间移动的时间。
- 旋转延迟,表示在磁道找到时,中轴带动盘面旋转到合适的扇区开头处。
- 传输时间,表示盘面继续转动,实际读取数据的时间。
- 7200转/min,旋转一周需要8.33ms
寻道约10ms
所以整个磁盘读取时间在一个磁道上是10ms级的。
顺序读写
读取一个大文件
随机读写
读取多个小文件
顺序读写比随机读写快的原因
-
传输时间
- 顺序读写:主要时间花费在了传输时间,而这个时间两种读写可以认为是一样的。
- 随机读写:需要多次寻道和旋转延迟。而这个时间可能是传输时间的许多倍。
-
预读
- 顺序读写:磁盘会预读,预读即在读取的起始地址连续读取多个页面(现在不需要的页面也读取了,这样以后用时就不用再读取,当一个页面用到时,大多数情况下,它周围的页面也会被用到)
- 随机读写:因为数据没有在一起,将预读浪费掉了。
-
文件系统的overhead
读写一个文件之前,得一层层目录找到这个文件,以及做一堆属性、权限之类的检查。
-
需找磁盘可用空间的耗时
小文件,这些时间消耗的占比就非常大了
947

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



