国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

150倍加速機械盤,UCloud云主機IO加速技術(shù)揭秘

云計算
針對機械盤IO性能低下的問題,我們通過自研的云主機IO加速方案,使4K隨機寫的最高性能由原來的300 IOPS提升至4.5W IOPS,提高了150倍,即用機械盤的成本獲得了SSD的性能。

現(xiàn)如今CPU的計算能力和磁盤的訪問延遲之間的差距逐漸擴大,使得用戶云主機的磁盤IO經(jīng)常成為嚴重的性能瓶頸,云計算環(huán)境下更加明顯。針對機械盤IO性能低下的問題,我們通過自研的云主機IO加速方案,使4K隨機寫的***性能由原來的300 IOPS提升至4.5W IOPS,提高了150倍,即用機械盤的成本獲得了SSD的性能。13年上線至今,該方案已歷經(jīng)五年的運營實踐,并成功應(yīng)用于全網(wǎng)93%的標準型云主機,覆蓋12.7萬臺實例,總?cè)萘窟_26PB。

[[250729]]

一 為什么需要IO加速

傳統(tǒng)的機械磁盤在尋址時需要移動磁頭到目標位置,移動磁頭的操作是機械磁盤性能低下的主要原因,雖然各種系統(tǒng)軟件或者IO調(diào)度器都致力于減少磁頭的移動來提高性能,但大部分場景下只是改善效果。一般,一塊SATA機械磁盤只有300左右的4K隨機IOPS,對于大多數(shù)云主機來說,300的隨機IOPS哪怕獨享也是不夠的,更何況在云計算的場景中,一臺物理宿主機上會有多臺云主機。因此,必須要有其他的方法來大幅提升IO性能。

早期SSD價格昂貴,采用SSD必然會帶來用戶使用成本的提升。于是,我們開始思考能否從技術(shù)角度來解決這個問題,通過對磁盤性能特性的分析,我們開始研發(fā)***代IO加速方案。即使今天SSD越來越普及,機械盤憑借成本低廉以及存儲穩(wěn)定的特點,仍然廣泛應(yīng)用,而IO加速技術(shù)能讓機械盤滿足絕大多數(shù)應(yīng)用場景的高IO性能需求。

二 IO加速原理及***代IO加速

我們知道機械磁盤的特性是隨機IO性能較差,但順序IO性能較好,如前文中提到的4K隨機IO只能有300 IOPS的性能,但其順序IO性能可以達到45000 IOPS。

IO加速的基本原理就是利用了機械磁盤的這種性能特性,首先系統(tǒng)有兩塊盤:一塊是cache盤,它是容量稍小的機械盤,用來暫時保存寫入的數(shù)據(jù);另一塊是目標盤,它是容量較大的機械盤,存放最終的數(shù)據(jù)。

1. IO的讀寫

寫入時將上層的IO順序的寫入到cache盤上,因為是順序的方式寫入所以性能非常好,然后在cache盤空閑時由專門的線程將該盤的數(shù)據(jù)按照寫入的先后順序回刷到目標盤,使得cache盤保持有一定的空閑空間來存儲新的寫入數(shù)據(jù)。

為了做到上層業(yè)務(wù)無感知,我們選擇在宿主機內(nèi)核態(tài)的device mapper層(簡稱dm層)來實現(xiàn)該功能,dm層結(jié)構(gòu)清晰,模塊化較為方便,實現(xiàn)后對上層體現(xiàn)為一個dm塊設(shè)備,上層不用關(guān)心這個塊設(shè)備是如何實現(xiàn)的,只需要知道這是一個塊設(shè)備可以直接做文件系統(tǒng)使用。

150倍加速機械盤,UCloud云主機IO加速技術(shù)揭秘

按照上述方式,當(dāng)新的IO寫入時,dm層模塊會將該IO先寫入cache盤,然后再回刷到目標盤,這里需要有索引來記錄寫入的IO在cache盤上的位置和在目標盤上的位置信息,后續(xù)的回刷線程就可以利用該索引來確定IO數(shù)據(jù)源位置和目標位置。我們將索引的大小設(shè)計為512字節(jié),因為磁盤的扇區(qū)是512字節(jié),所以每次的寫入信息變成了4K數(shù)據(jù)+512字節(jié)索引的模式,為了性能考慮,索引的信息也會在內(nèi)存中保留一份。

讀取過程比較簡單,通過內(nèi)存中的索引判斷需要讀取位置的數(shù)據(jù)是在cache盤中還是在目標盤中,然后到對應(yīng)的位置讀取即可。

寫入的數(shù)據(jù)一般為4K大小,這是由內(nèi)核dm層的特性決定的,當(dāng)寫入IO大于4K時,dm層默認會將數(shù)據(jù)切分,比如寫入IO是16K,那么就會切分成4個4K的IO;如果寫入數(shù)據(jù)不是按照4K對齊的,比如只有1024字節(jié),那么就會先進行特殊處理,首先檢查該IO所覆蓋的數(shù)據(jù)區(qū),如果所覆蓋的內(nèi)存區(qū)在cache盤中有數(shù)據(jù),那么需要將該數(shù)據(jù)先寫入目標盤,再將該IO寫入目標盤,這個處理過程相對比較復(fù)雜,但在文件系統(tǒng)場景中大部分IO都是4K對齊的,只有極少數(shù)IO是非對齊的,所以并不會對業(yè)務(wù)的性能造成太大影響。

2. 索引的快速恢復(fù)與備份

系統(tǒng)在運行過程中無法避免意外掉電或者系統(tǒng)關(guān)閉等情況發(fā)生,一個健壯的系統(tǒng)必須能夠在遇到這些情況時依然能保證數(shù)據(jù)的可靠性。當(dāng)系統(tǒng)啟動恢復(fù)時,需要重建內(nèi)存中的索引數(shù)據(jù),這個數(shù)據(jù)在cache盤中已經(jīng)和IO數(shù)據(jù)一起寫入了,但因為索引是間隔存放的,如果每次都從cache盤中讀取索引,那么,數(shù)據(jù)的恢復(fù)速度會非常慢。

為此,我們設(shè)計了內(nèi)存索引的定期dump機制,每隔大約1小時就將內(nèi)存中的索引數(shù)據(jù)dump到系統(tǒng)盤上,啟動時首先讀取該dump索引,然后再從cache盤中讀取dump索引之后的***1小時內(nèi)的索引,這樣,就大大提升了系統(tǒng)恢復(fù)的啟動時間。

依據(jù)上述原理,UCloud自研了***代IO加速方案。采用該方案后,系統(tǒng)在加速隨機寫入方面取得了顯著效果,且已在線上穩(wěn)定運行。

三 ***代IO加速方案存在的問題

但隨著系統(tǒng)的運行,我們也發(fā)現(xiàn)了一些問題。

150倍加速機械盤,UCloud云主機IO加速技術(shù)揭秘

1)索引內(nèi)存占用較大

磁盤索引因為扇區(qū)的原因最小為512字節(jié),但內(nèi)存中的索引其實沒有必要使用這么多,過大的索引會過度消耗內(nèi)存。

2)負載高時cache盤中堆積的IO數(shù)據(jù)較多

IO加速的原理主要是加速隨機IO,對順序IO因為機械盤本身性能較好不需要加速,但該版本中沒有區(qū)分順序IO和隨機IO,所有IO都會統(tǒng)一寫入cache盤中,使得cache堆積IO過多。

3)熱升級不友好

初始設(shè)計時對在線升級的場景考慮不足,所以***代IO加速方案的熱升級并不友好。

4)無法兼容新的512e機械磁盤

傳統(tǒng)機械磁盤物理扇區(qū)和邏輯扇區(qū)都是512字節(jié),而新的512e磁盤物理扇區(qū)是4K了,雖然邏輯扇區(qū)還可以使用512字節(jié),但性能下降嚴重,所以***代IO加速方案的4K數(shù)據(jù)+512字節(jié)索引的寫入方式需要進行調(diào)整。

5)性能無法擴展

系統(tǒng)性能取決于cache盤的負載,無法進行擴展。

四 第二代IO加速技術(shù)

上述問題都是在***代IO加速技術(shù)線上運營的過程中發(fā)現(xiàn)的。并且在對新的機械磁盤的兼容性方面,因為傳統(tǒng)的512字節(jié)物理扇區(qū)和邏輯扇區(qū)的512n類型磁盤已經(jīng)逐漸不再生產(chǎn),如果不對系統(tǒng)做改進,系統(tǒng)可能會無法適應(yīng)未來需求。因此,我們在***代方案的基礎(chǔ)上,著手進行了第二代IO加速技術(shù)的研發(fā)和優(yōu)化迭代。

1. 新的索引和索引備份機制

***代的IO加速技術(shù)因為盤的原因無法沿用4K+512Byte的格式,為了解決這個問題,我們把數(shù)據(jù)和索引分開,在系統(tǒng)盤上專門創(chuàng)建了一個索引文件,因為系統(tǒng)盤基本處于空閑狀態(tài),所以不用擔(dān)心系統(tǒng)盤負載高影響索引寫入,同時我們還優(yōu)化了索引的大小由512B減少到了64B,而數(shù)據(jù)部分還是寫入cache盤,如下圖所示:

150倍加速機械盤,UCloud云主機IO加速技術(shù)揭秘

其中索引文件頭部和數(shù)據(jù)盤頭部保留兩個4K用于存放頭數(shù)據(jù),頭數(shù)據(jù)中包含了當(dāng)前cache盤數(shù)據(jù)的開始和結(jié)束的偏移,其后是具體的索引數(shù)據(jù),索引與cache盤中的4K數(shù)據(jù)是一一對應(yīng)的關(guān)系,也就是每個4K的數(shù)據(jù)就會有一個索引。

因為索引放在了系統(tǒng)盤,所以也要考慮,如果系統(tǒng)盤發(fā)生了不可恢復(fù)的損壞時,如何恢復(fù)索引的問題。雖然系統(tǒng)盤發(fā)生損壞是非常小概率的事件,但一旦發(fā)生,索引文件將會完全丟失,這顯然是無法接受的。因此,我們設(shè)計了索引的備份機制,每當(dāng)寫入8個索引,系統(tǒng)就會將這些索引合并成一個4K的索引備份塊寫入cache盤中(具體見上圖中的紫色塊),不滿4K的部分就用0來填充,這樣當(dāng)系統(tǒng)盤真的發(fā)生意外也可以利用備份索引來恢復(fù)數(shù)據(jù)。

在寫入時會同時寫入索引和數(shù)據(jù),為了提高寫入效率,我們優(yōu)化了索引的寫入機制,引入了合并寫入的方式:

150倍加速機械盤,UCloud云主機IO加速技術(shù)揭秘

當(dāng)寫入時可以將需要寫入的多個索引合并到一個4K的write buffer中,一次性寫入該write buffer,這樣避免了每個索引都會產(chǎn)生一個寫入的低效率行為,同時也保證了每次的寫入是4K對齊的。

2. 順序IO識別能力

在運營***代IO加速技術(shù)的過程中,我們發(fā)現(xiàn)用戶在做數(shù)據(jù)備份、導(dǎo)入等操作時,會產(chǎn)生大量的寫入,這些寫入基本都是順序的,其實不需要加速,但***代的IO加速技術(shù)并沒有做區(qū)分,所以這些IO都會被寫入在cache盤中,導(dǎo)致cache盤堆積的IO過多。為此,我們添加了順序IO識別算法,通過算法識別出順序的IO,這些IO不需要通過加速器,會直接寫入目標盤。

一個IO剛開始寫入時是無法預(yù)測此IO是順序的還是隨機的,一般的處理方式是當(dāng)一個IO流寫入的位置是連續(xù)的,并且持續(xù)到了一定的數(shù)量時,才能認為這個IO流是順序的,所以算法的關(guān)鍵在于如何判斷一個IO流是連續(xù)的,這里我們使用了觸發(fā)器的方式。

當(dāng)一個IO流開始寫入時,我們會在這個IO流寫入位置的下一個block設(shè)置一個觸發(fā)器,觸發(fā)器被觸發(fā)就意味著該block被寫入了,那么就將觸發(fā)器往后移動到再下一個block,當(dāng)觸發(fā)器被觸發(fā)了一定的次數(shù),我們就可以認為這個IO流是順序的,當(dāng)然如果觸發(fā)器被觸發(fā)后一定時間沒有繼續(xù)被觸發(fā),那么我們就可以回收該觸發(fā)器。

3. 無感知熱升級

***代的IO加速技術(shù)設(shè)計上對熱升級支持并不友好,更新存量版本時只能通過熱遷移然后重啟的方式,整個流程較為繁瑣,所以在開發(fā)第二代IO加速技術(shù)時,我們設(shè)計了無感知熱升級的方案。

由于我們的模塊是位于內(nèi)核態(tài)的dm層,一旦初始化后就會生成一個虛擬的dm塊設(shè)備,該塊設(shè)備又被上層文件系統(tǒng)引用,所以這個模塊一旦初始化后就不能卸載了。為了解決這個問題,我們設(shè)計了父子模塊的方式,父模塊在子模塊和dm層之間起到一個橋梁的作用,該父模塊只有非常簡單的IO轉(zhuǎn)發(fā)功能,并不包含復(fù)雜的邏輯,因此可以確保父模塊不需要進行升級,而子模塊包含了復(fù)雜的業(yè)務(wù)邏輯,子模塊可以從父模塊中卸載來實現(xiàn)無感知熱升級:

150倍加速機械盤,UCloud云主機IO加速技術(shù)揭秘

上圖中的binlogdev.ko就是父模塊,cachedev.ko為子模塊,當(dāng)需要熱升級時可以將cache盤設(shè)置為只讀模式,這樣cache盤只回刷數(shù)據(jù)不再寫入,等cache盤回刷完成后,可以認為后續(xù)的寫入IO可直接寫入目標盤而不用擔(dān)心覆蓋cache盤中的數(shù)據(jù),這樣子模塊就可以順利拔出替換了。

這樣的熱升級機制不僅實現(xiàn)了熱升級的功能,還提供了故障時的規(guī)避機制,在IO加速技術(shù)的灰度過程中,我們就發(fā)現(xiàn)有個偶現(xiàn)的bug會導(dǎo)致宿主機重啟,我們***時間將所有cache盤設(shè)置為只讀,以避免故障的再次發(fā)生,并爭取到了debug的時間。

4. 兼容512e機械磁盤

新一代的機械磁盤以512e為主,該類型的磁盤需要寫入IO按照4K對齊的方式才能發(fā)揮***性能,所以原先的4K+512B的索引格式已經(jīng)無法使用,我們也考慮過把512B的索引擴大到4K,但這樣會導(dǎo)致索引占用空間過多,且寫入時也會額外占用磁盤的帶寬效率太低,所以最終通過將索引放到系統(tǒng)盤并結(jié)合上文提到的合并寫入技術(shù)來解決該問題。

5. 性能擴展和提升

在***代的IO加速技術(shù)中只能使用1塊cache盤,當(dāng)這塊cache盤負載較高時就會影響系統(tǒng)的性能,在第二代IO加速中,我們設(shè)計了支持多塊cache盤,并按照系統(tǒng)負載按需插入的方式,使加速隨機IO的能力隨著盤數(shù)量的提升而提升。在本地cache盤以及網(wǎng)絡(luò)cache盤都采用SATA機械磁盤的條件下,測試發(fā)現(xiàn),隨著使用的cache盤數(shù)量的增多,隨機寫的性能也得到了大幅度的提升。

  • 在只使用一塊本地cache盤時,隨機寫性能可達4.7W IOPS:

150倍加速機械盤,UCloud云主機IO加速技術(shù)揭秘

  • 在使用一塊本地cache盤加一塊網(wǎng)絡(luò)cache盤時,隨機寫性能可達9W IOPS:

150倍加速機械盤,UCloud云主機IO加速技術(shù)揭秘

  • 在使用一塊本地cache盤加兩塊網(wǎng)絡(luò)cache盤時,隨機寫性能可達13.6W IOPS:

150倍加速機械盤,UCloud云主機IO加速技術(shù)揭秘

目前,我們已經(jīng)大規(guī)模部署應(yīng)用了第二代IO加速技術(shù)的云主機。得益于上述設(shè)計,之前備受困擾的cache盤IO堆積過多、性能瓶頸等問題得到了極大的緩解,特別是IO堆積的問題,在***代方案下,負載較高時經(jīng)常觸發(fā)并導(dǎo)致性能損失和運維開銷,采用第二代IO加速技術(shù)后,該監(jiān)控告警只有偶現(xiàn)的幾例觸發(fā)。

五 寫在***

云主機IO加速技術(shù)極大提升了機械盤隨機寫的處理能力,使得用戶可以利用低廉的價格滿足業(yè)務(wù)需求。且該技術(shù)的本質(zhì)并不單單在于對機械盤加速,更是使系統(tǒng)層面具備了一種可以把性能和所處的存儲介質(zhì)進行分離的能力,使得IO的性能并不受限于其所存儲的介質(zhì)。此外,一項底層技術(shù)在實際生產(chǎn)環(huán)境中的大規(guī)模應(yīng)用,其設(shè)計非常關(guān)鍵,特別是版本熱升級、容錯以及性能考慮等都需要仔細斟酌。希望本文的經(jīng)驗分享可以讓大家更好理解底層技術(shù)的特點及應(yīng)用,并在下次設(shè)計做出更好的改進。

責(zé)任編輯:未麗燕 來源: 51CTO.com
相關(guān)推薦

2021-10-25 17:57:08

數(shù)據(jù)技術(shù)架構(gòu)

2019-06-06 10:19:33

谷歌開源計算庫

2012-11-15 09:46:22

Xeon PhiIntel加速性能

2025-04-07 08:35:00

3DAI生成

2019-11-01 10:49:21

技術(shù)開源應(yīng)用

2025-07-11 08:54:00

2025-01-06 08:20:00

雷達AI生成

2014-11-11 15:57:07

2024-12-27 09:30:00

AI數(shù)據(jù)訓(xùn)練

2024-12-05 13:50:00

AI大模型

2020-05-03 13:52:27

深度學(xué)習(xí)開源人工智能

2022-10-27 16:03:57

2025-10-14 10:03:11

CompLLMLLMRAG

2009-11-25 13:43:02

CDN內(nèi)容分布網(wǎng)絡(luò)

2017-12-06 10:50:57

華為云

2025-11-12 04:10:00

阿里ROLL FlashChatGPT

2021-07-27 10:10:21

CuPyNumpyPython

2024-08-12 09:54:00

2010-01-19 21:49:46

2010-01-20 14:55:27

點贊
收藏

51CTO技術(shù)棧公眾號

91免费电影网站| 337p粉嫩大胆色噜噜噜噜亚洲| 99视频在线观看一区三区| 国产日韩欧美一区二区三区四区| 久久人人精品| 末成年女av片一区二区下载| 欧洲在线视频一区| 欧美日韩国产精品自在自线| 欧美专区视频| 欧美日韩精选| 久久久在线免费观看| 在线观看入口黄最新永久免费国产| 成人综合在线观看| 日本a级片免费观看| 理论片播放午夜国外| 欧美二区视频| 欧美成人在线网站| 国内综合精品午夜久久资源| 九九九九精品九九九九| 另类小说色综合| 本田岬高潮一区二区三区| 美女黄色片视频| av资源种子在线观看| 91成人精品视频| 久久在线免费| 中文日韩在线| 热久久免费国产视频| 成人黄页网站视频| 欧美精品一区二区三区蜜桃| 午夜精品一区二区三区四区| 免费日本一区二区三区视频| 18成人在线观看| 日韩video| 久久综合影视| 国产精品一级久久久| 欧美另类专区| 国产日本欧美一区| 成人嫩草影院| 国产日韩精品在线播放| 精品国产一级毛片| 久久久久久网址| 美女视频免费观看网站在线 | 欧美色图一区| 久久久久久久久久久人体 | 亚洲精品亚洲人成人网在线播放| 久久九九国产精品怡红院| 黄色网页在线播放| 日韩一区二区三区观看| 激情影院在线观看| 精品国产麻豆免费人成网站| 高h视频在线播放| 日韩国产精品一区| 日韩精选视频| 久久91精品国产| 有色激情视频免费在线| 亚洲女同ⅹxx女同tv| 免费高清在线| 欧美日本一道本在线视频| 里番在线播放| 中文字幕欧美日韩| 欧美五码在线| 欧美日韩中文字幕一区| 最新黄色av网站| 国产91在线观看| 男人女人黄一级| 亚洲永久精品国产| 亚洲图片都市激情| 久久视频免费| 欧美午夜精品久久久久久孕妇 | 亚洲香肠在线观看| 新欧美整片sss第一页| 欧美日韩中文国产| 韩日毛片在线观看| 欧美尺度大的性做爰视频| 精品国产乱码久久久久久果冻传媒| 亚洲999一在线观看www| 天堂√中文最新版在线| 深夜精品寂寞黄网站在线观看| 成年人黄视频网站| 日韩欧美中文第一页| 好吊色这里只有精品| 不卡在线视频中文字幕| 亚洲黄色小视频在线观看| 亚洲国产精品一区二区www在线| 欧美日韩在线中文字幕| 成人永久看片免费视频天堂| 午夜精品久久久内射近拍高清| 综合久久久久久久| 国内外激情在线| 日韩国产欧美视频| 日本韩国福利视频| 91精品国产91久久久| 亚洲综合自拍偷拍| 日韩精品一区在线视频| 国产一区二区精品| 成人在线播放网址| 伊人久久大香线蕉综合网站 | 在线国产一区二区三区| 亚洲欧美激情精品一区二区| 日本欧洲一区二区| 中文在线免费视频| 日本精品一区二区三区四区| 亚洲四色影视在线观看| 久久国产精品成人免费观看的软件| 一区二区三区欧美亚洲| 免费成人毛片| 欧美日韩在线一区| 日本妇女一区| 国产对白国语对白| 日韩一二在线观看| 欧美日韩一视频区二区| 麻豆av免费在线观看| 国产三区二区一区久久| 日韩一区二区三区视频| 主播大秀视频在线观看一区二区| 一区二区av| 中文无字幕一区二区三区 | 国产在线国偷精品产拍免费yy| 狠狠狠综合7777久夜色撩人| 亚洲精品99| av网站无病毒在线| 在线看国产日韩| 97精品资源在线观看| 欧美黄色片视频| 国产劲爆久久| 超碰av在线免费观看| 国产精品久久久久久久久久直播 | 欧美色男人天堂| av在线不卡精品| 99久热re在线精品996热视频| www成人在线观看| 2024最新电影免费在线观看| 国产a∨精品一区二区三区不卡| av在线导航| 国产成人精品网站| 国产一区二区三区天码| 日韩视频在线观看视频| 欧美日韩国产经典色站一区二区三区| 麻豆一区一区三区四区| 久久人人爽人人爽人人av| 日韩视频一区在线观看| 国产精品hd| 在线播放的av| 国产91精品久久久久久久| av不卡免费在线观看| 嗯~啊~轻一点视频日本在线观看| 国产视频精品网| 日本电影亚洲天堂一区| 日韩av二区| 三级黄色网址| 日韩av123| 亚洲免费观看高清完整版在线观看熊| 天堂久久av| 免费在线观看的毛片| 在线观看日韩视频| 国产激情精品久久久第一区二区| 国产不卡123| gogogo免费高清日本写真| 亚洲成人激情在线| 美腿丝袜一区二区三区| 成人免费看片| 免费在线观看一区二区| 欧美美女一区二区在线观看| 国产情侣一区| 福利视频在线| 日韩和欧美的一区二区| 欧美电影免费观看完整版| 爽爽淫人综合网网站| 五月天激情在线| 在线播放国产精品| 久久精品国产精品亚洲红杏| 日本三级在线观看网站| 亚洲一区在线免费| 亚洲精品黄网在线观看| 99久久人爽人人添人人澡| 波多野结衣50连登视频| 欧美成人精品一区二区三区| 亚洲国产高清aⅴ视频| 欧美**字幕| 日本免费高清一区二区| 精品蜜桃在线看| 国产精品一区二区三区乱码 | 亚洲a∨日韩av高清在线观看| 高潮白浆女日韩av免费看| 一区二区免费不卡在线| 中文字幕一区二区三区四区五区| 日韩欧美另类在线| 国产成人av资源| 粉嫩一区二区三区四区公司1| videoxxxx另类日本极品| 亚洲国产精品久久久久久| 麻豆精品久久精品色综合| 免费在线成人激情电影| 黄色片在线免费| 91牛牛免费视频| 欧美成va人片在线观看| 久久久99免费| 欧美顶级大胆免费视频| 福利在线导航136| 成年人在线看片|