圖1:小文件聚合技術示意圖

原因在于,相比小文件,聚合文件在寫入時大幅減少了數(shù)據(jù)寫OSD(基于對象的存儲設備)的次數(shù),減少了OSD的寫入壓力,因而大大減少了客戶端對本地緩存(內存)的使用。小文件順序寫時,數(shù)據(jù)寫OSD次數(shù)分別可以減少99.9%(4KB),98.4%(64KB),96.8%(128KB)。

AS13000在小文件順序讀時,亦可以有效縮短IO路徑。原因是,在聚合條件下,小文件分別可以獲得99.9%(4KB),98.4%(64KB),96.8%(128KB)的緩存命中率,從而縮短IO路徑,提升讀文件性能,小文件隨機讀的緩存命中率也能達到85%以上。

其次,以重新寫代替修改寫,降低寫延遲。由于小文件一般情況下一次寫操作即可完成,同時為了降低復雜度,AS13000對于已下盤到聚合文件的小文件不采取修改寫方式,而是采取“讀取源文件->刪除聚合文件中的源文件->重新寫普通文件”的方式進行修改寫入,以降低寫延遲。

第三,建立智能定時掃描、碎片整理、垃圾清理機制,提高存儲空間利用率。在聚合文件中,多個源文件共用一個對象,刪除源文件并不能真正釋放所占用的空間,所以導致存儲空間的浪費;同時,源文件數(shù)量的減少還導致在讀取文件時緩存命中率降低,影響讀性能。為此,AS13000采用可配置的定時掃描聚合文件信息:聚合文件的使用率低于p(設定值)且t時間(設定值)內沒有修改過,則將聚合文件放入清理隊列;掃描處理完所有聚合文件,若清理隊列有需要清理的聚合文件,則觸發(fā)碎片整理,從而提高空間利用率。

垃圾清理的任務就是計算聚合文件中有效數(shù)據(jù)在文件總大小中的占比,當?shù)陀谠O定的閾值,且當聚合文件在t時間內無修改時,系統(tǒng)對聚合文件進行清理,以提高存儲空間利用率、提升小文件讀性能。

圖2:聚合文件使用率低于p值時進行垃圾清理,重新寫入新聚合文件

技術優(yōu)勢二:通過數(shù)據(jù)預讀提高讀取速度

浪潮AS13000在讀取某個目錄下的文件時,會順序預加載該文件后面的幾個文件內容到緩存中,以加快其讀取速度;此外,還使用多節(jié)點并發(fā)讀操作,以加快預讀速度。


圖3:數(shù)據(jù)預讀技術加快存儲數(shù)據(jù)讀取速度

同時,在非同步讀取目錄下的文件時,AS13000還會觸發(fā)對其后續(xù)文件的讀請求,且這些讀請求是異步的,不影響本次用戶讀操作的返回。如果用戶緊接著讀取下一個文件,且此操作不是同步操作,那么就可以直接將本地緩存的數(shù)據(jù)讀出,從而避免了與OSD的交互,提高了性能。

與此同時,在預讀文件時,若有對該文件的寫入操作,AS13000會把當前讀文件放入到等待讀隊列中并返回,等寫完成后再發(fā)信號通知重新讀該文件,并將之放入到本地緩存,從而提高用戶讀取速度。

由于上述獨特的技術機制,浪潮AS13000軟件定義存儲產品很好地解決了小文件讀寫速度慢、訪問延遲高、資源浪費等問題,幫助廣電、電商、網(wǎng)絡視頻等用戶從容應對海量小文件存儲與訪問挑戰(zhàn)。目前,AS13000系統(tǒng)已經(jīng)在中國資源衛(wèi)星應用中心、國家廣電總局、濟南商行、中國移動、成都交通等金融、電信、政府、公安、大企業(yè)等行業(yè)客戶中得到廣泛應用,充分驗證了其領先技術。未來,浪潮AS13000軟件定義存儲將繼續(xù)引領大數(shù)據(jù)與人工智能時代的存儲技術,為用戶增加其企業(yè)的核心競爭力不斷創(chuàng)新。

分享到

zhangnn

相關推薦