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