測試設置
ESG的實驗室測試了3個到5個服務器節點的Scality Ring,服務器之間通過一個10Gb/秒以太網線纜來連接。每臺服務器配置24個英特爾Xeon CPU核,24GB的RAM,6個600GB英特爾SSD(固態驅動器)。軟件將每個SSD分成兩個區,也就是在每個服務器節點上創建12個I/O區(軟件節點)。
ESG的Scality Ring設置
一般的對象存儲系統,比如Scality Ring 1,采用的是基于磁盤驅動器的設計。不過,在這個ESG測試中,每個Ring服務器節點都是基于閃存的對象存儲節點,而不是基于磁盤的,因此它的性能“比起行業領先的基于塊的雙控制器磁盤陣列的每秒I/O性能來說是非常好的結果”。
[page]
為什么Scality和ESG選擇用基于SSD的Ring來比較基于HDD的驅動器陣列?
Scality首席執行官Jér?me Lecat表示:“和一般人的想法不同,我們確信我們的基于對象的存儲在并行負荷上要快于SAN,但是我們要怎樣證明它呢?”
“我們研究了其他人(SAN、NAS、向外擴展NAS)是如何匯報自己的性能成績的,我們發現在他們的測試設計中,大多數IOPS(每秒輸入輸出) 性能數字是來自RAM/高速緩存/SSD,而不是來自HDD訪問。所有存儲系統都有一些控制器記憶體和一些高速緩存和/或分層機制。通過某種優化,很容易 讓測試數據主要集中于系統的這個部分而不是磁盤部分。”
“Isilon,一家向外擴展NAS(網絡附加存儲)公司,和我們在許多方面具有可比性。它去年著名的IOPS記錄也是采用同樣的方式。你可以在當時報告的第六頁看到平均響應時間低于3毫秒,這個時間對于1萬轉磁盤的數據讀取來說太短了。”
他表示假設業內許多人認為“我們的軟件采用完全可擴展的分布式元數據架構,因此必然會有許多延遲。一旦人們理解我們的架構,他們通常就不會在并行能力上質問我們,而是擔心我們在原子操作上的延遲成本。我們認為在SSD上測試是最好的測試我們軟件內在延遲性的方式。”
延遲性
“ESG實驗室的測試成功顯示我們的系統可以在SSD上用不到7毫秒的時間讀取和寫入對象,這個數字在加入新節點后也非常穩定。從這個測試中,以及 根據我們的生產經驗,我們可以推測出一個純HDD(沒有SSD)構建的雙層架構可以用7200轉磁盤實現平均40毫秒的讀取速度,在1萬轉磁盤下實現35 毫秒讀取速度——相當于Isilon在它們自己的ESG測試中使用的磁盤。”
Lecat表示DataDirect的Web Object Scalar DDN WOS2在HDD操作上有40毫秒的延遲。他認為,通過使用SSD,Scality可以顯著降低延遲時間。同時,分析顯示大多數延遲來自以太網網絡而非來自服務器節點的Scality軟件。
如果不使用以太網而使用InfiniBand節點-到-節點連接的話,也許SSD延遲時間可以進一步降低到3毫秒,不過Lecat表示:“實際上,對于大多數文件應用程序而言,40毫秒的延遲是完全可以接受的,而對于那些需要更低延遲的人來說,配置一些SSD不是問題。”
是的,SSD可以提高對象存儲性能,不過通常沒有這個必要。Lecat表示:“我們同意說在PB級水平上用純SSD存儲是合理的。通常,在PB級環 境中,只占5%容量的SSD可以顯著提高性能,同時成本還非常合算。這也就是說,我們只推薦在應用程序需要快于40毫秒速度的情況下使用SSD。”
[page]
替換Symmetrix
他提到一個客戶,時代華納有線公司,將原來的一個EMC陣列替換成純HDD的Scality Ring:“我們的Ring被部署在時代華納有線的主存儲上,用于純HDD的消費者電子郵件平臺。對于這個高度互動的應用程序來說,不需要SSD。我們替換了1PB多數據的EMC Symmetrix。”
Lecat這樣總結Scality Ring的存儲系統性能:“我們有三種性能指標:IOPS,吞吐率和延遲性。許多人認為如果一個存儲系統如果在其中一項上表現好的話應該在其他指標上也會 好,但其實它們是完全不同的指標。因為完全并行的設計,我們的架構擁有非常優秀的IOPS和吞吐率,我們甚至不需要SSD或高速HDD就可以做到這一點, 近線SAS就足夠了。我們的弱點在于延遲性。ESG測試表明我們在最弱的點上表現也不糟糕,實際上如果應用于非結構化數據應用程序的話,我們可以做得非常 好。”
“至于虛擬機和關聯數據庫應用程序,延遲性確實是個問題,因為它們有許多順序操作。我們將這個市場留給像Pure Storage或SolidFire這樣的公司。”
我們還可以進行更多的性能測試,比如SPECsfs標桿測試,可以測試更多服務器節點,但是ESG的報告已經足夠顯示Ring對象存儲系統可以媲美 傳統SAN陣列,并且可以服務于數以萬計的小型對象,比如MP3文件,速度比高性能計算陣列還快。認為對象存儲慢于傳統文件系統設備和SAN陣列的想法已 經過時了。
腳注
Scality Ring采用雙層架構。第一層用復制功能來作為數據保護機制,用高速磁盤來提高性能。第二層用刪除碼技術來保護大多數數據。第二層使用更便宜的SATA或近線SAS磁盤。
在Scality的Ring中,第二層磁盤的性能來自大量使用并行性,同時也得益于刪除碼技術不會給讀取帶來影響。第二層存儲上每個節點的數據索引 處于記憶體中。通過這種架構,代表80%請求的10%的數據存儲于第一層架構,提供不到10毫秒的對象提供速度,另外代表20%請求的90%的數據存儲在 更廉價的第二層架構中,用近線SAS驅動器在40毫秒左右速度下提供對象。