磁盤CACHE的兩大功能:預讀和回寫
對於磁盤I/O 來說,如果沒有CACHE ,就直接從硬盤讀寫;如果有CACHE ,則首先從CACHE 讀寫。
CACHE 具有兩大功能:
1 、預讀
CACHE 預讀提高了計算機系統中的硬盤讀的功能,尤其是在讀取含有大量文件碎片的文件時。具有良好預讀功能的RAID 卡能在看起來很隨機的讀訪問中,識別出讀取磁盤的規律, 通過這個規律提前將系統要讀取的數據放在CACHE 中。
預讀的兩種方式:
Read Ahead
由於硬盤數據經常是以一族連續的硬盤扇區組織起來的,所以有時侯如把系統所請求的扇區隨後的一個扇區裏的數據 同時讀進來是有價值的。對於數據文件的讀取有利, 特別是系統CPU 的性能低時。
Pre-Fetch
當RAID 卡發現系統要讀的是先前已經讀過的數據時,在這一次,便將這一個數據塊的數據寫到CACHE 裏。對於程序文件的讀取有利 。
2 、回寫
回寫是通過暫時將數據存在CACHE
裏,從而推遲將數據寫到慢設備(如硬盤、磁帶機)的一種工作方式。數據將在隨後的時間,硬盤閒置的時候寫到硬盤中。寫的時候也是統一將CACHE
內的尚未寫出的數據按照數據塊的在硬盤中的BLOCK 序號寫入,這樣可以提高寫的效率。
回寫需要加電池給CACHE 供電,以免數據在寫到硬盤之前系統斷電導致硬盤數據丟失。
增加CACHE 大小對於預讀來說,爲系統提供了更多的來自CACHE 的可供讀取的記錄。 對於回寫來說,允許控制卡保存更多的記錄留待後期寫磁盤。特別是對於電梯式回寫,使得連續的回寫段之間有更近的間隔,降低硬盤寫操作的平均訪時間並提高了吞吐率。
寫策略
通寫模式下,所有數據在以命令完成狀態返回到計算機之前,直接寫到硬盤。兩種寫策略比較來說,寫策略由通寫改爲回寫時,可大幅度提高性能。但回寫具有一定的數據危險性。在突然斷電的情況下,會丟失存於Cache 尚未寫入硬盤的數據。
RAID卡 工作在寫策略爲THROUGH 時,緩存大小對RAID卡 的性能影響很小,只有當寫策略改爲BACK 時,緩存的作用纔會發揮出來。
影響RAID卡 性能的因素很多,其中可調因素主要有RAID卡 緩存(CACHE )大小、寫策略(WRITE POLICY )、讀策略(READ
POLICY )、條帶的大小(STRIPE SIZE )。不同的RAID卡 雖然說法略有不同,但意思是一樣的。很多設置可以在RAID卡
的配置工具中調整。
硬盤的預讀和回寫
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
linux學習筆記-基礎部分
zyos
2019-02-23 13:43:17
Windows 7 安裝時候提示,無法更改啓動項安裝失敗,以及msr分區
781732825
2019-02-23 13:39:40
獲取程序路徑的方法.\\,GetCurrentDirectory與GetModuleFileName的區別
小顏
2019-02-23 13:29:34
linux Nginx+Php+Mysql+mssql動靜頁面分離
wlzxzxw
2019-02-23 13:28:10
Linux 程序包管理
qq_tang
2019-02-23 13:27:08
卡巴斯基稱圖片會捆綁惡意程序 危害非常嚴重
GABY0625
2019-02-23 13:23:27
【***教程】******、防範及善後
X93458
2019-02-23 13:06:44
Java IO流學習總結
mada26
2019-02-23 13:06:05
Windows 編程 第九回 關於鍵盤的那點兒事
hu_jiacheng
2019-02-23 13:05:17
VS2012+C語言+設置程序開機自動啓動+示例
橫行人間
2019-02-23 13:04:31
開源軟件使用
lazymorning
2019-02-23 12:58:42
如何向非技術人士說明技術的價值?
liusong
2019-02-23 13:06:07