Raid 控制器回寫快取行為

Raid 控制器回寫快取行為

我試圖了解當您編寫巨大的隨機資料集時,raid 控制器上的寫回快取如何能夠繼續產生好處。首先我要說的是我了解回寫式快取是如何運作的:當資料到達控制器快取而不是較慢的底層媒體時,作業系統在寫入時獲得 I/O 完成,然後控制器以最快的速度將資料寫入媒體。那麼既然如此,如果您寫入資料的速度比支援媒體寫入資料的速度快,我預計會破壞控制器快取並消除回寫帶來的效能增益,並且您最終會獲得相當於直寫設定?

我上面描述的是我所期望的,但這不是我所看到的。回寫式快取支援的伺服器始終具有至少 4 倍高的 IOPS 和吞吐量,並且可以維持;與我置於直寫模式的相同伺服器相比。關於如何解釋這種行為有什麼想法嗎?

是的,我正在編寫足夠多的數據來飽和文件系統緩存,而且我寫得非常快。

答案1

回寫式快取允許作業系統在寫入之前更好地組織數據,從而提高效能。如果您執行大量相對較小的寫入操作,那麼只需將幾次連續寫入的資料放在一起並一次性寫入媒體即可顯著提高效能。

在較小程度上,回寫式快取可以幫助作業系統在寫入期間匹配叢集大小。例如,如果您一次寫入 10000 字節,並且簇大小為 8192 字節,則快取將阻止作業系統向部分填充的簇寫入 1808 字節(這需要先讀取簇)。

相關內容