如果在IO充足為前題
Raid 5可以提升單個大擋存取任務,
但如果今天換一個情境,如果是10個人同時連線NAS存取很多小檔
Raid5在這個情境下會比單科硬碟快嗎?
爬文說到因為有三個讀寫頭,理論上多人碎檔還是會比較快?這個論點是真的嗎?
想請教有經驗的大大分享看法
這個邏輯沒有錯, 不過問題是....
RAID vs. Single Disk, 決勝點不是在讀寫頭,
而是在: 讀取碎片資料之後, 重組成完整資料的時間
Single Disk 沒有碎片, 他不需要經過重組, 就可以直接把完整資料吐出來;
RAID 5 至少有兩份以上的碎片+1個校正元, 磁碟單元從三個讀寫頭把這些碎片和校正元讀出來之後, 必須經過一次重組和一次比對判斷之後, 才能還原出完整資料
通常重組動作是由 RAID Controller 上的 ASIC 晶片負責, 但近代的 CPU 速度提升, 所以也有業者改用磁碟單元內的小 CPU 來做重組, 不幸的是: CPU 重組速度遠低於 ASIC 重組
所以, 你的磁碟子系統重組效率, 會決定你能不能勝過 Single Disk
這件事沒有一定, 因為各家磁碟子系統的重組機制不同, 效率落差很大
你只能靠實測來驗證.
經驗上, 消費級的家用產品, 效率會低於 Single Disk; 企業級高端產品, 則有機會勝過
Link Aggregation(鏈路聚合) 透過聚合多個網路介面,藉此提升頻寬及傳輸量,每一個用戶端將由一組聚合的網路介面回應。一旦指派網路介面後,將由同一個網路介面回應此用戶端的所有連線。
安裝多網口介面卡,比如四口網路介面卡,使用Link Aggregation,四個用戶可以得到各自獨立的網口,可以加快整體的傳輸的速度。
四個用戶就不用共用一個網口。
以上的做法只有一點點幫助,光是使用SSD 小檔 對考速度都還是很慢,透過網路傳送小檔光是分割重組封包只會浪費更多的時間。
小檔網路傳輸慢,這是無法解決,可以先利用壓縮程式,將眾多小檔壓縮成一個大檔再透過網路傳輸,可以解決透過網路傳輸小檔慢的問題,這是最快的解決方式。
小檔的定義就是幾KB或是幾十KB的檔案。