數字化時代,各行業每天都會面對大(dà)量數據的使用與存放(fàng),如企業業務往來的訂單數據、醫院每天大(dà)量産生(shēng)的醫療影像、政府機關單位各類電子檔案、廣電日常素材采集等,也包括ERP、HIS、MES等業務系統數據。“掌管”各種業務數據存、管、用的存儲,其性能将會對業務的運轉産生(shēng)很大(dà)影響。
評估一(yī)套存儲,性能是核心指标之一(yī)。而影響存儲性能的因素通常有很多種,比如硬件配置、網絡時延、存儲軟件處理流程等。爲了了解深信服分(fēn)布式存儲EDS在每一(yī)部分(fēn)的優化措施,我(wǒ)們将一(yī)個業務I/O流程歸納爲以下(xià)四層:
結合上述分(fēn)層方式,我(wǒ)們來介紹EDS如何激發卓越性能。
客戶端業務網絡層優化
1.降低業務網絡層時延
EDS通過增強支持NVMe-oF協議,來代替iSCSI和FC協議,并通過RDMA技術減少數據在客戶端内存拷貝,縮短客戶端IO路徑,降低客戶端CPU開銷。
目前在實驗室内測結果表示,NVMe-oF相比于通過FC接入在小(xiǎo)塊随機讀寫時延上降低60%以上(NVME-oF的IO傳輸時延在10us以内,而FC通常在30us,iSCSI通常在70us)。
2.提升網絡接入并發
EDS通過虛拟IP池的方式實現客戶端統一(yī)IP接入,EDS服務端IO多路徑映射到存儲節點間均衡負載,每一(yī)個節點都可以參與IO接收和處理,因此EDS可以通過橫向地增加存儲節點獲得線性提升的網絡接入并發IO能力。值得一(yī)提的是,部分(fēn)分(fēn)布式存儲雖然存儲節點可以橫向擴展,但接入網關會限制在4個節點以内,因此接入IO并發有限。
存儲軟件邏輯層優化
1.降低IO路徑時延
(1)更高效的副本分(fēn)發機制
EDS通過多副本和糾删碼的方式進行數據冗餘,以副本機制爲例,多份副本并發寫入存儲節點的固态盤,寫入成功即向應用返回成功,沒有主備副本之分(fēn)。對比開源存儲架構CEPH的副本分(fēn)發機制,EDS的I/O路徑更短,寫時延更低。
(2)更高效的分(fēn)層機制
在混合盤配置下(xià),固态盤作爲高性能層提供讀寫加速能力,EDS通過獨特的Tier分(fēn)層減少了數據寫入固态盤後的數據二次複制,降低固态盤壽命損耗,提高IO處理效率。
(3)更高的分(fēn)層命中(zhōng)率
EDS的業務讀操作會優先從Tier分(fēn)層讀取,所以業務讀性能跟SSD命中(zhōng)率強相關。由于性能層容量有限,如何把業務需要頻繁訪問的數據(即熱數據)留存在成爲提升業務讀性能的關鍵。EDS通過更智能的熱力圖算法決定那部分(fēn)數據留存在性能層,相比于傳統LRU算法可大(dà)幅度提升性能層命中(zhōng)率,提升業務讀性能。
(4)更智能的内存預加載
爲了提升業務讀性能,EDS文件存儲支持内存預加載技術,提前将數據按以下(xià)機制預加載到高速内存中(zhōng),業務可直接從内存獲取數據。
◦基于目錄的預加載機制:大(dà)部分(fēn)應用場景,一(yī)個目錄保存的文件相關性較強,若目錄内數據量較小(xiǎo),則将整個目錄的文件都加載到内存。
◦基于時間的預加載機制:若目錄内的數據量較大(dà),則通過創建時間将目錄内的文件進行分(fēn)組,當某個組中(zhōng)的文件在短時間内被讀取超過3個,則将整個組中(zhōng)的文件加載到内存。
2.提升多磁盤并發
EDS通過自适應條帶化和自研分(fēn)布算法來充分(fēn)發揮同一(yī)主機内多塊磁盤的并發能力。
(1)自适應條帶化技術
條帶化技術是指将一(yī)塊連續的數據切分(fēn)成很多個小(xiǎo)的數據塊,然後并發地存儲到不同物(wù)理硬盤上,實現對數據進行寫入或讀取時可以獲得 大(dà)程度上的I/O并發能力。
爲了保證獲得 優的I/O性能,EDS的條帶數會根據集群配置進行自适應調整,無需用戶配置。
(2)性能 優分(fēn)布算法
爲了保證性能 優,EDS數據分(fēn)布會優先遵循以下(xià)三大(dà)策略:
◦主機内優先跨磁盤組分(fēn)布策略:每個磁盤組由1塊SSD和多塊HDD組成,跨越多個磁盤組,可以利用到更多的SSD的加速能力。
◦磁盤組内優先跨磁盤分(fēn)布策略:在混合盤配置中(zhōng),爲了避免對一(yī)個條帶組内的數據進行并發讀寫時對機械硬盤産生(shēng)随機的I/O(機械盤受限于物(wù)理結構,随機I/O性能較差),數據在磁盤組内優先跨磁盤分(fēn)布。
◦優先選擇組件剩餘容量 多策略:爲了保證數據分(fēn)布均衡,主機或磁盤的剩餘容量大(dà)小(xiǎo)也是數據分(fēn)布時的一(yī)個重要考量因素。
3.提升小(xiǎo)文件/對象寫入性能
在海量小(xiǎo)文件/對象承載場景下(xià)EDS通過小(xiǎo)文件合并技術大(dà)幅降低元數據規模,保證關鍵元數據都能夠完全存儲在有限的SSD上,并利用自研PhxKV數據庫對元數據進行管理,提升元數據訪問效率及故障修複的效率,從而提升EDS對海量小(xiǎo)文件/對象讀寫效率,可以輕松承載百億級别的小(xiǎo)文件/對象存儲。
服務器硬件層優化
EDS支持在通用X86或ARM架構的服務器上進行部署,相比于傳統存儲使用的專有硬件,所需投入的成本更低,并且EDS聯合Intel推出了精選解決方案:
對于普通生(shēng)産業務承載,EDS推薦高性價比混閃方案,通過配置少量固态盤(SATA/NVMe/Optane)作爲高性能層提供讀寫加速能力,配置大(dà)容量機械盤作爲容量層承載更多數據。
對于核心高負載業務承載,EDS可以采用全閃存方案,支持全SATA和全NVMe SSD組成的高性能存儲資源池,通過25Gb/40Gb RoCE組網,爲金融核心交易系統、測繪航測建模系統、醫療HIS等場景提供穩定高性能的生(shēng)産存儲。
存儲網絡層優化
EDS的存儲網絡用來進行節點間數據同步,以多副本機制爲例,由于存儲的多個副本之間要保證強一(yī)緻性和數據可靠性,多個副本必須同時寫入到不同的存儲節點,因此存儲網絡時延也是影響性能的關鍵因素之一(yī)。EDS通過RDMA技術來減少内存拷貝,降低CPU消耗,從而将存儲網時延降低到10微秒以内。
在多項性能優化措施的加持下(xià),EDS在塊、文件、對象存儲性能實現了進一(yī)步升級。
塊存儲性能優化
使用3節點混合盤配置的EDS集群(每節點配置2塊SATA接口固态盤作爲緩存盤,6塊SATA 機械盤做數據盤)可提供43萬IOPS 性能,發揮物(wù)理硬件性能的92%以上。
并且性能可以橫向擴展,EDS集群規模擴展至8節點時,混合盤配置4KB随機讀可達120萬IOPS。
對象存儲性能優化
EDS對象存儲在3節點混合盤配置下(xià)可以承載100億個小(xiǎo)對象數據,且性能下(xià)降不超過5%。而開源CEPH在對象規模實測達到3億時,性能下(xià)降已超過60%。
文件存儲性能優化
使用3節點混合盤配置的EDS集群,EDS文件存儲可提供6GB/s的讀寫吞吐能力。
對存儲而言,性能優化可謂是一(yī)場沒有終點的馬拉松,持續在通用硬件上激發出更高、更穩定的存儲性能,用戶便可以用更低的成本投入獲得可支撐核心業務運行的存儲産品。基于性能優化,目前深信服EDS已經承載了廣電非編、AI訓練、醫療影像長期歸檔、人臉圖像識别、制造業MES生(shēng)産、金融交易清算等豐富的業務場景。EDS将持續通過大(dà)量的研發投入,和持續的版本叠代,讓用戶擁有更優的存儲選擇。
文章轉載:深信服科技