磁盤順序讀寫和隨機讀寫是什么


問題由來

磁盤如果使用得當,磁盤的速度完全可以匹配上網絡 的數據傳輸速度。目前的高性能磁盤,順序寫速度可以達到600MB/s, 超過了一般網卡的傳輸速度。但是磁盤隨機寫的速度只有大概100KB/s,和順序寫的性能相差6000倍!因為有如此巨大的速度差別,好的消息隊列系統會比普通的消息隊列系統速度快多個數量級。RocketMQ的消息用順序寫,保證了消息存儲的速度。
那為什么說RocketMQ的消息用順序寫,保證了消息存儲的速度

順序讀寫與隨機讀寫和


連續 / 隨機 I/O

連續 I/O :指的是本次 I/O 給出的初始扇區地址和上一次 I/O 的結束扇區地址是完全連續或者相隔不多的。反之,如果相差很大,則算作一次隨機 I/O。

而發生隨機I/O可能是因為磁盤碎片導致磁盤空間不連續,或者當前block空間小於文件大小導致的。

連續 I/O 比隨機 I/O 效率高的原因是:在做連續 I/O 的時候,磁頭幾乎不用換道,或者換道的時間很短;而對於隨機 I/O,如果這個 I/O 很多的話,會導致磁頭不停地換道,造成效率的極大降低。

結論

要避免磁頭的反復移動而導致的時間損失,即程序設計的時候都是盡量避免發生隨機IO。
既然可以順序IO,那么誰會去隨機IO呢

參考

1、https://blog.csdn.net/u010087886/article/details/54405934
2、https://zhuanlan.zhihu.com/p/34895884


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM