999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于磁盤緩存技術與數據去重優化磁盤性能表現

2022-07-09 09:23:42苑舒斌周曉宇韓宇
電子元器件與信息技術 2022年5期
關鍵詞:優化

苑舒斌,周曉宇,韓宇

中海油信息科技有限公司北京分公司,北京,100010

0 引言

Dedup是一種用于優化磁盤占用空間的方式。它可以將磁盤中重復的數據合并,并以引用的方式虛擬成多份數據。在磁盤的數據內容重復性很高的情況下,相同的數據可以只存儲一份,大幅度地減少了磁盤空間的占用。但同時也帶來了數據隨機性上升以及IO性能降低等其他問題。

SSD Cache是常見的分層存儲方式之一,通過將頻繁訪問的熱點數據存儲在高速存儲中、冷數據存儲在低速存儲中,可以起到使用較低的成本達到較高的磁盤性能的作用。SSD是最常見的高速非易失性存儲,隨機讀寫能力可達普通機械硬盤的100~1000倍,其擁有隨機讀寫性能強、訪問延遲低且斷電不丟失數據的特點,常在分層存儲中作為緩存層使用。

在Dedup的應用場景下,IO操作數量增加,訪問延遲敏感性上升,但同時也帶來了更密集的數據訪問。而SSD Cache所使用的LRU算法對訪問數據的密集程度較為敏感,因此,對數據進行Dedup可以在一定程度上提高Cache的性能表現。虛擬數據優化器VDO(virtual data optimizer)是由紅帽提供的一款存儲軟件,VDO是一個內核模塊,可以節省磁盤空間并減小復制帶寬。VDO位于任何塊存儲設備的頂部,提供零塊消除、冗余塊的分解和數據壓縮。VDO包含兩個部分,UDS Portion與VDO Portion。UDS Portion用于存儲每個塊的獨特名稱和位置,而VDO Portion用于存儲數據內容。

OpenCAS是一個開源項目,包括塊緩存軟件庫、適配器、工具等。此緩存加速軟件的主要目的是通過使用高性能設備來加速后端塊設備。

在本文的方案中,會使用這兩個工具進行組合測試。

1 原理

1.1 VDO 對磁盤IO的負面影響

VDO訪問數據時,需要分成兩次IO操作。第一次,先訪問UDS Portion,獲取所需要的VDO Block所在位置;第二次訪問,則對VDO Block進行讀取。這造成了較高的讀放大,并且劣化了讀取的連續性,對磁盤的性能表現有較大的負面影響。當VDO寫入數據時,第一步是寫入操作,VDO會先分配一個空閑的VDO Block用于數據寫入,并修改UDS信息,此過程產生兩個IO操作;第二步是Dedup操作,VDO Dedup模塊會計算該Block的哈希(Hash),并根據Hash尋找對應Block。如果沒有找到,則直接返回;如果找到相同Block,則會讀出該Block并進行比對,如果結果不同則直接返回,如果結果相同則修改UDS信息,并廢棄之前的VDO Block。數據訪問過程如圖1所示。

圖1 VDO數據訪問過程

經過研究可以發現,當寫入大量數據時,每一次寫操作會附帶產生至少兩個IO操作,最差的情況下會產生4次IO操作,并且連續性較差,大幅度劣化了機械磁盤的IO表現。而在沒有VDO的情況下,連續的數據不會被切分成不連續的數據,且每次IO操作嚴格對應一次物理IO,有利于機械硬盤的性能發揮。磁盤寫操作如圖2所示。

圖2 磁盤寫操作

1.2 緩存命中率與IOPS的關系

記后備存儲的IOPS為H,Cache的IOPS為S,Cache命中率為r,理論IOPS為C。經過理論計算可以得出

考慮到S與H的數值都由硬件決定,在相同的情況下將S記為H,則公式(1)可以繼續化簡為

可以看出,在H與不變的情況下,C僅與r相關。為了方便,在接下來的計算中,將r定為100,這個數字與本文的測試環境是接近的,則可以得到函數

圖3展示了Cache命中率和IOPS的對應關系。

圖3 Cache命中率與IOPS的關系

因此,緩存加速軟件的性能表現與命中率息息相關。

1.3 緩存命中率與緩存大小的關系

Cache的命中率隨它的容量增加而提高,它們之間的關系曲線如圖4所示。在Cache容量比較小的時候,命中率提高得非常快,但根據邊際效應遞減原理,隨著Cache容量的增加,命中率提高的速度逐漸降低。當Cache的容量增加到無窮大時,理論期望命中率可達到100%,但是這實際上是做不到的。

1.4 Cache對VDO讀取性能的提升作用

VDO訪問數據時,需要分成兩次IO操作。第一次,先訪問UDS Portion,獲取所需要的 VDO Block所在位置;第二次訪問,則對VDO Block進行讀取。由于UDS Portion的容量一般較小,可以認為UDS Portion能夠完全被Cache命中,因此,其主要影響的是第二次VDO Block的Cache命中率。經過計算,可以得到第二個公式,在帶有VDO的情況下,C的公式為:

此外,在訪問不同的VDO邏輯塊時,若其內容相同,則會被分配到相同的VDO Block中,這可以提升VDO Block訪問的命中率,對性能提升有一定的正面作用,當環境恰當的時候,甚至可以達到或者超過SSD Cache的性能。下面是在真實環境下進行的熱點分析。

在不同的環境中,熱點數據的重復程度有相當大的區別。本文以云環境的數據讀取情況為例,選取了一個磁盤,在這個磁盤上一共啟動了6臺虛擬機,其會不斷地產生大量數據訪問。通過對數據的跟蹤發現,在使用相同的256G SSD對1.5TB硬盤進行加速的情況下,SSD Cache的命中率為90%;而在類似的環境中,使用Dedup去重后,再進行跟蹤,日志顯示命中率為97%。

那么,帶入之前的兩個公式,本文可以得出以下結論。在使用Dedup之前,SSD Cache可以帶來9.2倍的性能提升;而在使用Dedup之后,可以獲得20.1倍的性能提升。并且當繼續增大,提升的比例也會繼續增大;當=1000時,Dedup與Cache的搭配可以獲得31.3倍的性能提升,而單純的Cache只能獲得9.9倍的提升。也就是說,當Cache的性能提高的時候,使用Dedup可以獲得更高的邊際效益[1]。

1.5 Cache對VDO寫入性能的提升作用

VDO寫入大量重復數據時,會產生大量附帶的讀操作與3個寫操作,但是當使用SSD Cache時,讀操作可以被Cache儲存,寫操作則會被合并。因此,本文可以減少1次讀寫操作,將最差情況下的3次IO操作減少到最差情況的2次IO操作。同時,由于SSD本身的讀寫特性,VDO讀取數據連續性較低的問題也可以被大幅度緩解。

2 方案

在傳統的單層存儲中,發起的訪問請求會被傳遞給真實的物理設備,物理設備根據請求的偏移量進行讀取,然后返回結果,IO性能僅取決于硬盤設備本身。但在本文的分層存儲模型中,當用戶發起訪問請求時,會先經過VDO層,VDO再將請求發送給OpenCAS層,OpenCAS從硬盤或緩存中讀取數據,并將結果返回給VDO。具體過程如圖4所示。此時,IO的性能同時受到硬盤、緩存設備、緩存策略以及緩存命中率的影響[2]。

圖4 所提分層存儲過程

根據不同情況,本文選取了兩種典型的Cache策略。

2.1 直寫優化模式

該模式下,SSD Cache不會提升VDO的寫入性能,但是會提升VDO的讀取能力。在此種方案下,當數據被寫入VDO時,VDO Block與UDS索引的改動會被同時寫入Cache與后備存儲中,其所需要的時間與直接落盤一致。當VDO需要讀取數據時,UDS數據存在于Cache中,VDO Block則會先從Cache中尋找,然后再從后備存儲中加載。因為不同邏輯塊可以對應同一個VDO Block,因此Cache命中率可以得到一定程度的提升。

2.2 寫回優化模式

該模式下,SSD Cache將會同時進行Cache寫入與讀取。在此種方案下,當數據被寫入VDO時,VDO Block與UDS索引的改動會被先寫入Cache中,其所需要的時間遠短于寫入后備存儲所需要的時間。Cache會將寫入的數據合并之后再落盤,可以提高數據寫入的連續程度,提高性能。當VDO需要讀取數據時,UDS數據存在于Cache中,VDO Block則先從Cache中尋找,再從后備存儲中加載。因為不同邏輯塊可以對應同一個VDO Block,因此Cache命中率同樣可以得到一定程度的提升。

根據兩種優化模式的特點,在測試中,本文選取了寫回優化模式作為本次測試的策略[3]。

3 測試結果

對本文所提方案的正確性進行驗證,測試環境為CentOS7.5操作系統、4塊6T磁盤組成RAID5、Intel S4510 960G。

3.1 機械硬盤和純Dedup模式的測試結果

機械硬盤模式的測試結果如表1所示。

表1 機械硬盤測試結果

純Dedup模式的測試結果如表2所示。

表2 純Dedup模式測試結果

對比裸盤與純Dedup模式可以發現,4K隨機寫有一定優化,4K隨機讀的性能則降低了一半。這是由于4K隨機寫在寫入時分配的是連續的物理塊,可以提高連續性,一定程度上提高了寫入性能;而其他情況則會降低讀寫的連續性,且一次IO請求會產生兩次真實IO請求,導致性能嚴重下降。

3.2 SSD Cache的性能

測試時,Cache命中率均維持在90%左右。根據SSD的標稱性能,SSD的寫入IOPS為60K,在SSD Cache開啟寫回模式下,進行4K讀取時的性能提升了9.6倍;而按照理論計算,性能提升應為9.9倍,結果與計算基本一致。在4K寫入的情況下,數據會先寫入SSD中。因此,其性能取決于SSD的性能與SSD Cache軟件的性能,測試的結果與SSD的標稱性能一致[4]。SSD Cache的性能測試結果如表3所示。

表3 SSD Cache測試性能

3.3 SSD Cache與Dedup聯用情況下的性能

測試時,Cache命中率均維持在97%左右。4K的隨機讀取性能相對機械盤提升了26.5倍,根據SSD的性能計算,讀取性能應能提升到30倍,與計算基本相符。寫入的性能相比SSD Cache模式降低至1/3,但依然能提升機械硬盤20倍的性能。如表4所示。

表4 SSD Cache與Dedup聯用性能

在此次測試中,SSD Cache的緩存磁盤處于有較多空余空間的狀態。在寫回模式下,當Dirty數據超過限制后,寫入性能會下降到與直接寫入硬盤相同。此時,可以認為與純Dedup模式下的數據一致[5]。

4 結語

經過以上測試,可以得到的結論是:SSD Cache與Dedup的聯合使用可以進一步提升性能,根據不同的SSD性能與命中率,提升效果也不同。根據實際測試的情況,Dedup與SSD Cache的聯用基本可以達到理論上的性能,印證了理論的正確性,但是由于SSD的性能依然受到數據隨機性的影響,因此實測數據和理論不完全相符。

但本次實驗依然存在不足之處,可以繼續進行改進以提升性能。比如說,將Dedup的寫入操作進行分類,改善底層的連續性,并選擇性地進行緩存,以減少寫入時對SSD Cache的沖擊。

此外,本次測試中使用了寫回策略進行優化,但SSD Cache在使用寫回策略時,同樣存在一些潛在問題。根據不同的實現方法,SSD Cache在寫回模式下,可能存在斷電后數據丟失、緩存寫滿后性能下降的問題,并不是萬能的解決方案。

猜你喜歡
優化
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
PEMFC流道的多目標優化
能源工程(2022年1期)2022-03-29 01:06:28
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
由“形”啟“數”優化運算——以2021年解析幾何高考題為例
圍繞“地、業、人”優化產業扶貧
今日農業(2020年16期)2020-12-14 15:04:59
事業單位中固定資產會計處理的優化
消費導刊(2018年8期)2018-05-25 13:20:08
4K HDR性能大幅度優化 JVC DLA-X8 18 BC
幾種常見的負載均衡算法的優化
電子制作(2017年20期)2017-04-26 06:57:45
主站蜘蛛池模板: 国产永久免费视频m3u8| 国产福利不卡视频| 欧美不卡在线视频| 五月婷婷亚洲综合| 九九这里只有精品视频| 亚洲一区二区三区国产精品| 高清视频一区| 99ri精品视频在线观看播放| 国产一区二区精品福利| 欧美国产综合色视频| 免费在线不卡视频| 成人日韩精品| 色吊丝av中文字幕| 久久久精品国产SM调教网站| 有专无码视频| 国产91精品调教在线播放| 青青青国产视频| 国产色爱av资源综合区| 亚洲精品成人7777在线观看| 久久人体视频| 中文字幕人成乱码熟女免费| 99久久婷婷国产综合精| 天天躁日日躁狠狠躁中文字幕| 国产一区二区免费播放| 国产成人精彩在线视频50| 91久久大香线蕉| 国产内射一区亚洲| 亚洲精品无码AV电影在线播放| 亚洲国产欧美国产综合久久| 亚洲天堂区| 57pao国产成视频免费播放| 国产 在线视频无码| 无码专区第一页| 国产a在视频线精品视频下载| 2018日日摸夜夜添狠狠躁| 免费人成黄页在线观看国产| 日韩在线观看网站| 91毛片网| 国产精品白浆在线播放| 一级毛片在线播放免费| 欧美一区二区精品久久久| 永久免费无码日韩视频| 亚洲精品片911| 超碰91免费人妻| 国产午夜福利亚洲第一| V一区无码内射国产| 国产女人在线观看| 欧美色综合网站| 狠狠干欧美| 国产成人精品第一区二区| 欧美一区二区三区国产精品| 男女性色大片免费网站| 亚洲妓女综合网995久久| 亚洲成a人片| 亚洲精品在线影院| 国产精品熟女亚洲AV麻豆| 亚洲第一区欧美国产综合| 污污网站在线观看| 婷婷亚洲视频| 久久无码免费束人妻| 亚洲精品图区| 亚洲成年人片| 日韩国产欧美精品在线| 亚洲中文字幕日产无码2021| 亚洲丝袜中文字幕| 精品国产www| 亚洲精品动漫| 国产精品七七在线播放| 亚洲swag精品自拍一区| 成人伊人色一区二区三区| 久久国产精品国产自线拍| 日本成人一区| 91精品国产无线乱码在线| 亚洲精品777| 国产成人精品高清在线| 国产成人a在线观看视频| 国产精品hd在线播放| 国产成人综合网| 国产精品尤物铁牛tv| 亚洲愉拍一区二区精品| 久久久噜噜噜| 亚洲无码视频图片|