欧美丝袜一区二区-欧美精品在线观看一区二区-久久精品男人,亚洲乱码中文字幕综合,久久精品手机视频,极度bdsm残忍bdsm变态

沃趣科技產(chǎn)品與技術(shù)資源中心
產(chǎn)品白皮書丨最佳實踐合集丨行業(yè)報告丨技術(shù)文章
資源 > 原理剖析|緩存加速技術(shù)

原理剖析|緩存加速技術(shù)

2023年06月14日

前言


目前在主流存儲中,使用的比較多的是機(jī)械硬盤和固態(tài)硬盤(SSD)。機(jī)械硬盤具有容量大,價格便宜,容錯性好,壽命較長等優(yōu)點(diǎn);缺點(diǎn)是讀寫性能相對固態(tài)硬盤有比較大的差距。固態(tài)硬盤的優(yōu)點(diǎn)是讀寫性能較好,特別是隨機(jī)讀寫性能;缺點(diǎn)是價格比較昂貴,容量小,寫入壽命有限,一旦損壞數(shù)據(jù)難以恢復(fù)等。因此,有些情況下我們希望結(jié)合兩者優(yōu)點(diǎn),于是SSD緩存技術(shù)方案應(yīng)運(yùn)而生,SSD緩存的方案最終性能接近SSD的性能,使得我們可以用更少的成本得到較大的收益(高吞吐 / 低延遲)。



1、緩存技術(shù)介紹


  • 凡是位于速度相差較大的兩種硬件之間,用于協(xié)調(diào)兩者數(shù)據(jù)傳輸速度差異的結(jié)構(gòu),均可稱之為Cache,無論是CPU中的L1、L2、L3 Cache,還是RAID卡的Cache,無論是Facebook的Flashcache還是Intel的openCAS,其最終目的都是為了解決兩種硬件設(shè)備之間的性能差異,提升性能,節(jié)省成本等。

  • 緩存在涉及帶有硬盤陣列的數(shù)據(jù)存儲系統(tǒng)時非常受歡迎。雖然HDD是順序工作負(fù)載的良好選擇,但它們對處理隨機(jī)模式有物理限制。緩存與硬盤陣列配對,優(yōu)化了隨機(jī)請求的處理,并提高了總存儲性能。它們非常受歡迎,因為它們比全閃存解決方案更實惠。



2、緩存工作原理


說緩存之前先介紹幾個名詞,“冷數(shù)據(jù)”和“熱數(shù)據(jù)”,我們經(jīng)常訪問的熱點(diǎn)數(shù)據(jù)稱為熱數(shù)據(jù),熱數(shù)據(jù)存放在高速緩存(SSD)中,不經(jīng)常訪問的數(shù)據(jù)稱為冷數(shù)據(jù),存放在主存儲(HDD)中,業(yè)務(wù)請求熱數(shù)據(jù)會更快延遲更低。 


臟數(shù)據(jù)&&刷臟:當(dāng)業(yè)務(wù)進(jìn)行更新,此時緩存中的數(shù)據(jù)和主存儲中數(shù)據(jù)就不一致了,此時這個記錄對應(yīng)的緩存就叫臟數(shù)據(jù)。由緩存將數(shù)據(jù)寫到主存儲中的過程稱為刷臟。

圖片1.png

  • 對于傳統(tǒng)的全HDD架構(gòu)來說,所有的請求都是直接從RAM流到HDD中,而HDD雖然價格便宜,但是對于延遲和隨機(jī)性能來說有天生的物理局限,不滿足目前主流存儲的需求。

  • SSD緩存架構(gòu),將容量較小的SSD設(shè)備和容量較大的HDD設(shè)備組成緩存架構(gòu),所有的請求都是從RAM中先寫到SSD中,再由緩存的機(jī)制流到HDD中,這樣對于業(yè)務(wù)來說,性能和延遲都有很好的改善,甚至接近SSD的性能。如下圖:對隨機(jī)性能和延遲進(jìn)行了對比

    圖片2.png



2.1 緩存如何加速讀取操作


當(dāng)讀取請求到達(dá)存儲器時,系統(tǒng)會在硬盤上找到所需的數(shù)據(jù)塊并執(zhí)行讀取操作。如果重復(fù)對這些數(shù)據(jù)塊的請求,系統(tǒng)會對SSD緩存進(jìn)行臨時副本,下一次讀取操作將更快,因為它們是從緩存設(shè)備請求的,如圖:

圖片3.png



2.2 緩存如何加速寫入操作


(1).寫入策略


對于寫入的操作有兩種模式,Write Through和Write Back,簡稱WT和WB,WT模式會將數(shù)據(jù)進(jìn)行鏡像,分別寫入緩存和主存儲中,性能慢 / 延遲高,但是有更好的數(shù)據(jù)安全性。WB模式所有的數(shù)據(jù)先寫入到緩存中,由于緩存設(shè)備速度快,寫入操作和狀態(tài)響應(yīng)快速且延遲低。


(2).刷臟策略


WB模式寫入緩存之后,那么如何對數(shù)據(jù)持久化呢,這就涉及緩存中的核心之一刷臟算法,這里介紹兩個常見的刷臟算法,ACP(Active Cleaning Policy)積極的刷臟算法,時時刻刻都會進(jìn)行刷臟,并且根據(jù)業(yè)務(wù)模型進(jìn)行動態(tài)調(diào)控刷臟速率。第二種常見的是LRU算法,根據(jù)數(shù)據(jù)訪問的頻率給最近最少訪問的數(shù)據(jù)先進(jìn)行刷臟


(3).淘汰策略


由于前面提到,SSD緩存比主存儲HDD小很多,這樣勢必會帶來一個問題,當(dāng)緩存寫滿時怎么辦?這涉及緩存中另一個核心算法淘汰算法,優(yōu)先選擇對緩存中的哪些數(shù)據(jù)進(jìn)行刷臟從而保證緩存的性能,下面介紹幾個常見的淘汰算法。


  • FIFO(先入,先出)——首先進(jìn)入緩存的塊首先消失,不考慮請求頻率。

  • LRU(最近使用的最少)——請求日期最古老的塊首先離開緩存。

  • LFU(最不常用的)——如果塊的請求比其他塊少,則首先離開緩存。


(4).命中率


衡量緩存還有一個核心點(diǎn)是命中率,從程序設(shè)計的角度來講,一個良好的計算機(jī)程序常常具有良好的“局部性”,也就是它們傾向于引用鄰近于最近引用過的數(shù)據(jù)項的數(shù)據(jù),或者最近引用過數(shù)據(jù)項本身。這種傾向性被稱為局部性原理,是一個持久的概念,對硬件和軟件系統(tǒng)的設(shè)計和性能有著極大的影響。那么正因為程序有“局部性”原理,對于緩存來說這些經(jīng)常被訪問的數(shù)據(jù)塊被作為熱點(diǎn)數(shù)據(jù),訪問熱點(diǎn)數(shù)據(jù)的具有性能高延遲低的特點(diǎn),是緩存技術(shù)的一個重要核心。所以,我們就需要有機(jī)制來防止熱點(diǎn)數(shù)據(jù)被沖刷掉或者緩存被寫滿之后導(dǎo)致性能慢的問題。 


雖然緩存寫滿的之后還是能夠正常使用,但是性能和延遲都會大打折扣如下圖所示,那么是否可以通過一些機(jī)制來控制緩存的寫入?

圖片4.png

下面以Intel開源緩存方案openCAS舉例,主要提供了兩種機(jī)制進(jìn)行控制: 


1、seq-cutoff機(jī)制

  • 當(dāng)檢測到連續(xù)的IO大小達(dá)到一個閾值的時候就不會寫緩存設(shè)備,直接寫入后端存儲設(shè)備,這樣一方面保證了熱數(shù)據(jù)一方面還防止緩存盤被寫滿。如下圖上層fio用1M順序?qū)懀瑂eq-cutoff配置成1024M之后發(fā)現(xiàn)所有請求的IO達(dá)到閾值1024M之后的請求都寫入到core device中(core device:sdd 、cache device:sde) 

圖片5.png


2、IO Class Configuration機(jī)制

  • seq-cutoff的機(jī)制可以避免cache被寫滿的場景,但是有一個局限,粒度太大。但凡連續(xù)寫的場景中有一個小IO那么該寫入cache device的IO就直接被寫入core device中,從而并不能提升整體的性能,從而需要一個更細(xì)力度的篩選。

  • IO Class Configuration:可以根據(jù)IO大小進(jìn)行分類,配置是否要進(jìn)行緩存。此配置功能和seq-cutoff類似,但是做到了更細(xì)粒度的劃分,可以靈活的根據(jù)業(yè)務(wù)場景進(jìn)行選擇。


3、常用術(shù)語表

圖片6.png




總結(jié)


緩存技術(shù)允許您在處理混合工作負(fù)載時加快存儲性能。對于硬盤陣列本身運(yùn)行不夠好的情況,這是一種簡單且經(jīng)濟(jì)實惠的方法。在服務(wù)器任務(wù)和應(yīng)用程序的多樣性和復(fù)雜性時代,緩存越來越有吸引力。但仍然重要的是要記住,這項技術(shù)對于業(yè)務(wù)場景有局限性,它不可能是解決所有存儲性能問題的通用解決方案。




讓數(shù)據(jù)庫基礎(chǔ)設(shè)施更簡單
加速企業(yè)數(shù)字化轉(zhuǎn)型建設(shè)及落地
立即咨詢

沃趣科技

中立的企業(yè)級數(shù)據(jù)庫云
十年磨一劍十年來始終如一的專注數(shù)據(jù)庫生態(tài)領(lǐng)域
夯實技術(shù)底蘊(yùn)打造最適合時代的數(shù)據(jù)庫基礎(chǔ)設(shè)施
業(yè)績持續(xù)領(lǐng)先目前已累計服務(wù)超3000家企業(yè)客戶

留言咨詢

完善信息,我們第一時間跟您聯(lián)系
姓名
手機(jī)
公司
所在地區(qū)
咨詢問題