眾所周知,內(nèi)存與存儲之間存在巨大的性能鴻溝,兩者的性能幾乎有數(shù)百萬倍的差距。
但在強(qiáng)調(diào)用戶體驗的互聯(lián)網(wǎng)行業(yè),每一秒的延遲可能都會導(dǎo)致用戶流失,為了提升數(shù)據(jù)訪問性能,是否可以將數(shù)據(jù)庫放置到內(nèi)存當(dāng)中?這就是內(nèi)存數(shù)據(jù)庫Redis誕生的背景,Redis在一定程度上緩解了性能需求,提升了用戶體驗。
但是另外一個問題隨之誕生。
目前主流的服務(wù)器內(nèi)存基本都是DRAM,縱觀數(shù)十年來的DRAM發(fā)展情況,再結(jié)合未來發(fā)展趨勢,比如DRAM的頻率從十年前DDR3的1033MHz,到現(xiàn)在的DDR4的3200MHz以及未來的DDR5,性能確實越來越高。但是容量呢?
DRAM內(nèi)存的單位容量幾乎沒有太大的起伏,盡管服務(wù)器內(nèi)部使用時的DDR內(nèi)存從主流的16GB過渡到32GB,但單條DDR內(nèi)存的容量始終保持在最大128GB,多少年來,幾乎沒有變化。
當(dāng)然,服務(wù)器隨著處理器的更新?lián)Q代而不停地更新,單顆處理器可支持的內(nèi)存通道數(shù)量從原來的4通道發(fā)展到現(xiàn)在的6通道、8通道,在一定程度上增加了可部署的內(nèi)存容量。但這依然“治標(biāo)不治本”,一則服務(wù)器的物理尺寸是業(yè)內(nèi)標(biāo)準(zhǔn)的,很難變動,這意味著物理空間受限,很難設(shè)計更多的內(nèi)存插槽;二則內(nèi)存的單位成本雖然根據(jù)市場波動略有起伏,但總體變化不大,容量越大的內(nèi)存也意味著成倍的成本增加。
這個看似無解的問題,隨著IntelOptane中文名:傲騰)系列產(chǎn)品的發(fā)布而出現(xiàn)了曙光。IntelOptane用全新的3DXPoint材質(zhì),有類似相變存儲的特性。其主要意義可以用兩點(diǎn)來概括:高性能與非易失性。
Intel率先推出了傲騰SSD,與傳統(tǒng)的NANDSSD相比,其擁有均衡的讀寫性能,而延遲則低一個數(shù)量級,讓市場領(lǐng)略到了傲騰的高性能。但SSD通常使用PCIe通道,PCIe技術(shù)的性能并不足以完全發(fā)揮出Optane的性能優(yōu)勢。因此,Intel又推出了OptanePresistentMemory(傲騰持久內(nèi)存,簡稱PMem)。
傲騰持久內(nèi)存是一個全新的產(chǎn)品,其填補(bǔ)了內(nèi)存與主存儲之間的性能鴻溝。
傲騰持久內(nèi)存所帶來的現(xiàn)實意義,其延遲在納秒級別,遠(yuǎn)遠(yuǎn)小于NANDSSD的微秒級別延遲,可以為應(yīng)用增加一個新的存儲層,極大地提升應(yīng)用響應(yīng)速度
相比于CPU訪問內(nèi)存的延遲,訪問傲騰持久內(nèi)存的延遲肯定要高出很多。但傲騰持久內(nèi)存的意義在于,其容量非常大,比如第一代傲騰持久內(nèi)存PMem100的最小容量為128GB,后又陸續(xù)發(fā)布750GB與1.5TB的產(chǎn)品,單條傲騰持久內(nèi)存的容量遠(yuǎn)超傳統(tǒng)DRAM內(nèi)存。
而且傲騰持久內(nèi)存的意義還在于,具備非易失性存儲特性,這是DRAM內(nèi)存所沒有的,這意味著即使在掉電的情況下,傲騰持久內(nèi)存依舊擁有保存數(shù)據(jù)的能力。
正因為傲騰持久內(nèi)存同時具有DRAM的高性能和NANDSSD的非易失性存儲特性,使得其使用也非常靈活,既可以作為DRAM內(nèi)存的補(bǔ)充,增大系統(tǒng)內(nèi)存容量(內(nèi)存模式);又可以作為直接數(shù)據(jù)存儲(應(yīng)用直連模式);還可以一部分用作內(nèi)存,一部分用作數(shù)據(jù)持久存儲(混合模式)。
傲騰持久內(nèi)存擁有DRAM的特性,使得其可以作為傳統(tǒng)DRAM內(nèi)存的補(bǔ)充,極大地增大應(yīng)用或系統(tǒng)可用的內(nèi)存空間,且無需應(yīng)用任何改動。這天然就是內(nèi)存數(shù)據(jù)庫的最佳載體。比如在SAPHANA解決方案中,就已經(jīng)認(rèn)證使用了傲騰持久內(nèi)存產(chǎn)品。
而現(xiàn)在,新浪也考慮使用傲騰持久內(nèi)存來承載其Redis數(shù)據(jù)庫,為用戶帶來更快、更好的訪問體驗。為了驗證傲騰持久內(nèi)存替代傳統(tǒng)內(nèi)存能否真的能夠滿足線上業(yè)務(wù)的需求,新浪在使用傲騰持久內(nèi)存之前,部署了一套貼近真實應(yīng)用環(huán)境的Redis內(nèi)存數(shù)據(jù)庫環(huán)境,使用傲騰持久內(nèi)存作為內(nèi)存(內(nèi)存模式),利用memtier_benchmark工具對Redis實例進(jìn)行壓力測試,評估傲騰持久內(nèi)存在Redis數(shù)據(jù)庫環(huán)境下的性能表現(xiàn)。
新浪用于部署Redis數(shù)據(jù)庫環(huán)境的硬件平臺。采用近乎相似的硬件,圖左使用傲騰持久內(nèi)存來增大系統(tǒng)內(nèi)存容量,圖右的硬件平臺則采用傳統(tǒng)的DRAM方案
測試中所使用的memtier_benchmark軟件是RedisLabs推出的一款命令行工具,它能夠產(chǎn)生各種各樣的流量模式,可以對Memcached和Redis內(nèi)存數(shù)據(jù)庫實例進(jìn)行基準(zhǔn)性能測試,其測試結(jié)果已經(jīng)成為業(yè)內(nèi)內(nèi)存數(shù)據(jù)庫性能評估的事實標(biāo)準(zhǔn)。
在測試場景一中,根據(jù)實際業(yè)務(wù)需求對memtier_benchmark的測試流進(jìn)行調(diào)節(jié),模擬數(shù)據(jù)塊大小為512KB尺寸的混合讀寫場景,讀寫比例為1:2,分別測試傲騰持久內(nèi)存和DRAM內(nèi)存的讀寫性能以及平均響應(yīng)延遲。
需要注意的是,在測試中選用了512KB這一尺寸較大的數(shù)據(jù)塊,其原因在于,當(dāng)傲騰持久內(nèi)存添加到服務(wù)器系統(tǒng)中,并使用內(nèi)存模式時,原來的DRAM內(nèi)存將作為傲騰持久內(nèi)存的緩存,當(dāng)較小的數(shù)據(jù)塊訪問,CPU可能實際訪問的就是DRAM內(nèi)存,其性能和延遲與使用DRAM內(nèi)存時幾乎沒有區(qū)別。因此在測試時選用了更大尺寸的測試數(shù)據(jù)塊,以評估傲騰持久內(nèi)存和傳統(tǒng)DRAM內(nèi)存的性能差異。
上圖即為傲騰持久內(nèi)存(AEP)和傳統(tǒng)DRAM內(nèi)存(RAM)的Redis性能對比圖,從圖中可以看到,即使是在512KB較大尺寸的數(shù)據(jù)塊混合讀寫時,盡管DRAM的性能更高,但差距并不明顯。而且隨著壓力測試時間的不斷持續(xù),傲騰持久內(nèi)存與DRAM內(nèi)存之間的性能差距有變小的趨勢,這說明傲騰持久內(nèi)存完全有能力替代傳統(tǒng)DRAM內(nèi)存。
傲騰持久內(nèi)存與傳統(tǒng)DRAM內(nèi)存在Redis數(shù)據(jù)庫測試中的平均延遲曲線圖??梢钥吹剑M管傲騰持久內(nèi)存的延遲略高,但并不明顯,僅有大約5%的差距,這說明傲騰持久內(nèi)存擁有良好的性能穩(wěn)定性,可以作為傳統(tǒng)DRAM內(nèi)存的補(bǔ)充。
在實際應(yīng)用環(huán)境中,IO數(shù)據(jù)塊的尺寸是不同的,通常有多種不同大小的數(shù)據(jù)塊并發(fā)訪問。因此,根據(jù)這一實際情況,在接下來的測試中采用了兩種尺寸的數(shù)據(jù)塊,分別為4KB和512KB,兩種尺寸的數(shù)據(jù)塊同時對Redis數(shù)據(jù)塊進(jìn)行并發(fā)讀寫測試,并按不同混合比例(20%、40%、50%、60%與75%)下的性能進(jìn)行統(tǒng)計,并對比。
從上圖可以看出,在不同混合比例的大小數(shù)據(jù)塊壓力測試中,盡管傲騰持久內(nèi)存的平均延遲稍高,但幾乎與傳統(tǒng)DRAM內(nèi)存沒有明顯差異。
同時,測試還對由多個Redis內(nèi)存數(shù)據(jù)庫組成的集群進(jìn)行了壓力測試,結(jié)果如下:
傲騰持久內(nèi)存的性能表現(xiàn)盡管會稍低傳統(tǒng)DRAM內(nèi)存,但差異并不明顯。這意味著兩者的性能很接近,在應(yīng)用層面并不會造成明顯的差異,進(jìn)而導(dǎo)致不良的用戶體驗。這也意味著傲騰持久內(nèi)存完全能夠替代傳統(tǒng)DRAM內(nèi)存。
而相比于容量發(fā)展幾乎穩(wěn)定的DRAM內(nèi)存而言,傲騰持久內(nèi)存即將推出第二代PMem200系列產(chǎn)品,相比第一代傲騰持久內(nèi)存,其單條性能增加至少25%,同時在新一代Intel處理器中,將支持8通道內(nèi)存,這意味著在單臺服務(wù)器中可使用的傲騰持久內(nèi)存數(shù)量進(jìn)一步增加,據(jù)估計,單機(jī)性能將有50%的性能增長。
除了性能之外,傲騰持久內(nèi)存的容量也將進(jìn)一步增長,其擁有類似NANDSSD的容量發(fā)展路線。這意味著傲騰持久內(nèi)存不僅容量增長,性能也會隨之增長。替代傳統(tǒng)DRAM內(nèi)存大有可為。
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!