硬碟快取大小在 RAID 中重要嗎?

硬碟快取大小在 RAID 中重要嗎?

可能的重複:
硬碟緩衝區大小重要嗎?

好吧,所以不完全是 RAID,但我剛剛購買了一個無驅動器 Drobo 用作視頻/照片工作的原始存儲,現在正在瀏覽硬碟以將其放入其中。在大多數情況下,具有 16MB/32MB/64MB 快取大小的磁碟機之間存在相當大的價格差異。在我的特定情況下,Drobo 中有 4 個 1TB 驅動器,快取大小是否會以任何方式提高效能?先致謝!

答案1

快取可讓您提高處理速度——但是,對於您使用它的目的(儲存)來說,效能通知可能是最小的。 RAID 磁碟機將使用其完整快取。

編輯:只是為了更多地解釋什麼是快取;它儲存數據,以便可以更快地滿足未來的請求。這意味著快取越高,可以儲存的區塊資料就越多,這意味著能夠更快地檢索資料。

答案2

硬碟機快取大小在任何地方都無關緊要,因為所有現代作業系統都會進行自己的緩存,並且有更多的記憶體可供使用。如果它最近被訪問過,那麼無論如何它都會位於作業系統快取中,因此將其放入驅動器快取中並不重要,因為作業系統不會再次向驅動器詢問該資料。

To compare to CPU caches, it's like having your nice fat 8MB L3 cache modern cpus have, then watching the years go by and finding CPUs with a 128 MB L2 cache that is 32 times faster, but still having that old, slow 8 MB L3快取.它不會有任何好處,因為 L2 總是先被諮詢,而且更大、更快。此時,爭論 L3 快取應該是 8 MB 還是 16 MB 是一個沒有實際意義的問題,因為 L3 中的任何內容也將在 L2 中,因此 L3 甚至不會看到請求。

若要查看磁碟機和核心快取的運作情況,您可以嘗試dd從磁碟機讀取資料的速度。

sudo dd if=/dev/sda of=/dev/null bs=52488 count=1

這將從磁碟機中讀取 512kb。重複幾次,你會開始看到一些非常快速的數字。在我手邊的這台舊機器上,我看到的速度約為 751 MB/s。那是內核緩存。現在,如果您新增 iflag=direct 選項,這將停用核心緩存,從而允許您測量驅動器快取的速度。重複此操作,我只能看到大約 100 MB/s,這大約是這個舊 IDE 介面的最大傳輸速率。這並不比驅動器約 61 MB/s 的無緩衝吞吐量好多少。

現在問問自己,當您不繞過核心快取時,速度較慢、較小的驅動器快取有什麼好處。

相關內容