Fusion-io ioDrive2 Duo MLC 是一款全高半長 (FHHL) 應用程序加速器,可通過 x2.4 PCI Express 插槽提供高達 8TB 的容量。 Fusion-io 卡以其吞吐量性能和低延遲而著稱,這兩者的結合推動了業內一些最佳的響應能力。 Fusion-io 的 ioDrive2 卡基本上都是一樣的,只是硬件不同而已。 在這種情況下,與標準 ioDrive2 相比,ioDrive2 Duo 結合了第二個控制器並將 NAND 池加倍。 Fusion-io 在此迭代中也使用 MLC,這意味著與驅動器的 SLC 版本相比,用戶可以獲得兩倍的容量。 在性能方面,MLC 和 SLC ioDrive2 Duo 卡的性能非常相似,最明顯的區別在於讀取延遲,MLC 為 68µs,SLC 為 47µs,以及耐用性。
Fusion-io ioDrive2 Duo MLC 是一款全高半長 (FHHL) 應用程序加速器,可通過 x2.4 PCI Express 插槽提供高達 8TB 的容量。 Fusion-io 卡以其吞吐量性能和低延遲而著稱,這兩者的結合推動了業內一些最佳的響應能力。 Fusion-io 的 ioDrive2 卡基本上都是一樣的,只是硬件不同而已。 在這種情況下,與標準 ioDrive2 相比,ioDrive2 Duo 結合了第二個控制器並將 NAND 池加倍。 Fusion-io 在此迭代中也使用 MLC,這意味著與驅動器的 SLC 版本相比,用戶可以獲得兩倍的容量。 在性能方面,MLC 和 SLC ioDrive2 Duo 卡的性能非常相似,最明顯的區別在於讀取延遲,MLC 為 68µs,SLC 為 47µs,以及耐用性。
在之前的評論中 ioDrive2 雙核 SLC ioDrive2 MLC,我們在硬件和軟件功能方面詳細介紹了 Gen1 卡的更新和增強功能。 值得注意的是每次都有幾個基本租戶附帶 Fusion-io 卡。 ioMemory 卡依靠主機 CPU 來卸載大部分工作。 這利用了服務器中最昂貴的資源之一,這些資源通常未得到充分利用,即使在高度虛擬化的環境中也是如此。 Fusion-io 還使用 FPGA 作為 NAND 控制器,與 ASIC 相比,這為它們提供了更多的可編程性和在產品生命週期內進行更大增強的機會。 該驅動器還採用 Adaptive FlashBack 技術,該技術允許驅動器遭受 NAND 故障,而不會在驅動器重新映射時冒任何數據丟失或停機的風險。 Fusion-io 還增強了他們的 VSL 軟件以提供改進的小塊性能,並且它通過 ioSphere 提供了市場上最強大的驅動器管理軟件。
ioDrive2 Duo 目前有兩個版本,2.4TB MLC 型號和 1.2TB SLC 型號。
Fusion-io ioDrive2 Duo MLC 規格
- 性能
- 讀取帶寬 (1MB):3.0 GB/s
- 寫入帶寬 (1MB):2.5 GB/s
- 跑了。 讀取 IOPS (512B):540,000
- 跑了。 寫入 IOPS (512B):1,100,000
- 跑了。 讀取 IOPS (4K):480,000
- 跑了。 寫入 IOPS (4K):490,000
- 讀取訪問延遲:68us
- 寫訪問延遲:15us
- 2xnm NAND 閃存多層單元 (MLC)
- 總線接口:PCI-Express 2.0 x8 電氣 x8 物理
- 重量:<11 盎司
- 外形:全高、半長 (FHHL)
- 保修期:5 年或最長使用期限
- 支持的操作系統
- Microsoft Windows:Windows Server 2012、Windows Server 2008 R2、64 位 Windows Server 2008、64 位 Windows Server 2003
- Linux:RHEL 5/6; SLES 10/11; OEL 5/6; 中央操作系統 5/6; Debian 擠壓; 軟呢帽 16/17; 開放SUSE 12; Ubuntu 10/11/12
- UNIX:Solaris 10/11 x64; OpenSolaris 2009.06 x64; 操作系統 10.6/10.7/10.8
- 管理程序:
- VMware ESX 4.0/4.1/ESXi 4.1/5.0/5.1、帶有 Hyper-V 的 Windows 2008 R2、Hyper-V Server 2008 R2
設計和建造
Fusion ioDrive2 Duo 2.4TB MLC 是一個全高半長 (FHHL) x8 PCI-Express 2.0 卡,主電路板上有兩個控制器和一個 PCIe 開關。 NAND 通過兩個子板連接,使 Fusion 在切換到新的 NAND 配置時具有製造優勢。 他們可以安裝新的子板並將新固件閃存到 FPGA 上,而不是每次進行光刻更改(NAND 芯片縮小)時都重新設計卡。 我們的 MLC ioDrive2 Duo 由兩個 1,200GB ioMemory 設備組成,每個設備使用 4 條 PCIe 連接通道。 PCB 佈局非常高效,大型無源散熱器覆蓋了卡右側的兩個控制器。
ioDrive2 Duo MLC 與 Fusion-io 的其他 ioMemory 產品共享相同的佈局和管理軟件。 有關這些的更多信息,請參閱我們對 ioDrive2 雙核 SLC or ioDrive2 MLC.
測試背景和比較
Fusion-io ioDrive2 Duo MLC 使用兩個 40nm Xilinx Virtex-6 FPGA 控制器和帶有 PCIe 2.0 x8 接口的 Intel MLC NAND。
本次審查的可比性:
- Fusion-io ioDrive2 (1.2TB,1 x Xilinx Virtex-6 FPGA 控制器,MLC NAND,PCIe 2.0 x4)
- 華為Tecal ES3000 (2.4TB,3 個專有 FPGA 控制器,MLC NAND,PCIe 2.0 x8)
- 美光P420m (1.6TB,IDT 控制器,MLC NAND,PCIe 2.0 x8)
- Virident FlashMAX II (2.2TB,2 個專有 FPGA 控制器,eMLC NAND,PCIe 2.0 x8)
所有 PCIe 應用加速器都在我們的第二代企業測試平台上進行了基準測試,該平台基於 聯想ThinkServer RD630. 對於綜合基準,我們利用 菲奧 Linux 版本 2.0.10 和 Windows 版本 2.0.12.2。 在我們的綜合測試環境中,我們使用時鐘速度為 2.0GHz 的主流服務器配置,儘管具有更強大處理器的服務器配置可以產生更高的性能。
- 2 x Intel Xeon E5-2620(2.0GHz,15MB 緩存,6 核)
- 英特爾 C602 芯片組
- 內存 – 16GB (2 x 8GB) 1333Mhz DDR3 Registered RDIMM
- Windows Server 2008 R2 SP1 64 位、Windows Server 2012 Standard、CentOS 6.3 64 位
- 100GB 美光 P400e 啟動固態硬盤
- LSI 9211-4i SAS/SATA 6.0Gb/s HBA(用於啟動 SSD)
- LSI 9207-8i SAS/SATA 6.0Gb/s HBA(用於基準測試 SSD 或 HDD)
值得注意的是,我們選擇的可比較產品主要是基於 MLC 的驅動器,SLC Micron PCIe 驅動器除外。 也就是說,並非所有 PCIe 驅動器在性能目標和價格方面都是平等的。 特定的應用程序需要特定的存儲需求,因此我們選擇在 NAND 類型而不是控制器數量等方面對組件進行標準化。
應用性能分析
為了了解企業存儲設備的性能特徵,必須對實時生產環境中的基礎架構和應用程序工作負載進行建模。 因此,我們對 Seagate 1200 SSD 的前三個基準測試是 MarkLogic NoSQL 數據庫存儲基準, 通過 SysBench 的 MySQL OLTP 性能 Microsoft SQL Server OLTP 性能 具有模擬的 TCP-C 工作負載。
我們的 MarkLogic NoSQL 數據庫環境需要四個一組的 SSD,可用容量至少為 200GB,因為 NoSQL 數據庫的四個數據庫節點需要大約 650GB 的空間。 我們的協議使用 SCST 主機並在 JBOD 中呈現每個 SSD,每個數據庫節點分配一個。 該測試以 24 個間隔重複進行,對於此類 SSD 總共需要 30-36 小時。 MarkLogic 記錄每個 SSD 的總平均延遲以及間隔延遲。
在我們的 MarkLogic NoSQL 基準測試中比較總體平均延遲時,Fusion-io ioDrive2 Duo MLC 表現非常出色,緊隨其後。
華為 ES3000 1.2TB HP 提供了該組中最好的延遲,峰值平均間隔延遲在 3.5-9.9 毫秒之間。
基於 SLC 的美光 P320h 700GB 在該組中排名第二,峰值測量值在 12-17.7 毫秒之間。
查看 ioDrive2 Duo MLC 的完整延遲輸出,它的響應時間相當緊湊,在 25-30+ms 範圍內有一些尖峰。
Virident FlashMAX II 2.2TB HP 位於我們基於 MLC 的 PCIe SSD 包的中間位置,平均延遲峰值在 16-26 毫秒之間。
與 Virident FlashMAX II 910TB 相比,英特爾 SSD 2.2 的總體平均延遲時間有所提高,峰值範圍為 6-50 毫秒。
Fusion-io ioDrive2 也落後於多控制器 PCIe 應用程序加速器,其峰值也在 6-50 毫秒範圍內。
Micron P420m 在我們的 MarkLogic NoSQL 數據庫測試中墊底,峰值在 25-74 毫秒之間。
我們的下一個應用測試包括 通過 SysBench 進行 Percona MySQL 數據庫測試,它衡量 OLTP 活動的性能。 在此測試配置中,我們使用一組 聯想 ThinkServer RD630s 並將數據庫環境加載到單個 SATA、SAS 或 PCIe 驅動器上。 該測試測量平均 TPS(每秒事務數)、平均延遲以及 99 到 2 個線程範圍內的平均 32% 延遲。 Percona 和 MariaDB 在其最新版本的數據庫中使用 Fusion-io 閃存感知應用程序 API,儘管為了進行比較,我們在其“傳統”塊存儲模式下測試了每個設備。
ioDrive2 Duo MLC 在我們的 Sysbench 測試中名列第三,落後於華為 ES3000 PCIe SSD。 它提供的性能範圍從 313 線程時的 2 TPS 到 2,521 線程時的 32 TPS。
比較我們 Sysbench 測試中的平均延遲,Fusion-io ioDrive2 Duo MLC 從 6.38 線程的 2 毫秒擴展到 12.69 線程的 32 毫秒。
查看 ioDrive2 Duo MLC 的第 99 個百分位延遲,它在負載下保持非常一致,從 15.11 線程時的 2 毫秒到 23.92 線程時增加到 32 毫秒。
StorageReview 的 Microsoft SQL Server OLTP 測試協議 採用事務處理性能委員會基準 C (TPC-C) 的當前草案,這是一種在線事務處理基準,模擬複雜應用程序環境中的活動。 TPC-C 基準比綜合性能基準更接近於衡量數據庫環境中存儲基礎設施的性能優勢和瓶頸。 我們的 SQL Server 協議使用 685GB(3,000 規模)的 SQL Server 數據庫,並測量 30,000 個虛擬用戶負載下的事務性能和延遲。
比較我們的 SQL Server 基準測試的事務性能,沒有一個 PCIe 應用程序加速器能夠跟上我們服務器配置的最大能力。 對於此類別,重點更多地放在下面的延遲方面。
在最低平均延遲方面,Fusion-io 以前 4 名的成績在我們的 SQL Server 基準測試中佔據主導地位,而 ioDrive2 Duo MLC 以 3 毫秒位居榜首。
企業綜合工作負載分析
閃存性能在每個存儲設備的整個預處理階段各不相同。 我們的綜合企業存儲基準流程從分析驅動器在徹底的預處理階段的運行方式開始。 每個可比較的驅動器都使用供應商的工具進行安全擦除,在 16 個線程的重負載下使用相同的工作負載預處理到穩定狀態,每個線程有 16 個未完成隊列,然後按設定的時間間隔進行測試在多個線程/隊列深度配置文件中顯示輕度和重度使用情況下的性能。
- 預處理和初級穩態測試:
- 吞吐量(讀+寫 IOPS 聚合)
- 平均延遲(讀+寫延遲一起平均)
- 最大延遲(峰值讀取或寫入延遲)
- 延遲標準偏差(讀+寫標準偏差一起平均)
我們的企業綜合工作負載分析包括兩個基於實際任務的配置文件。 開發這些配置文件是為了更容易與我們過去的基準測試以及廣泛發布的值(例如最大 4k 讀寫速度和 8k 70/30,通常用於企業硬件)進行比較。
- 4k
- 100% 讀取或 100% 寫入
- 100% 4k
- 8k 70/30
- 70% 讀取,30% 寫入
- 100% 8k
在此測試中,我們在 Linux 和 Windows 上比較了六個驅動器(FlashMAX II HP、Fusion ioDrive2 Duo SLC HP、Huawei ES3000 2.4TB HP、Micron P420m 1.4TB、Fusion ioDrive2 Duo MLC Stock 和 Fusion ioDrive2 Duo MLC HP)。 此外,對於 ioDrive2 Duo MLC,我們利用其超量配置功能實現高性能 (HP) 測試模式。
我們的第一個測試測量 100% 4k 隨機寫入性能,負載為 16T/16Q。 Fusion-io ioDrive2 Duo MLC 庫存分別針對 Linux 和 Windows 測試了 530,000 和 350,000 IOPS(分別穩定在 120,000 和 115,000 IOPS 左右)。 ioDrive2 Duo MLC HP 的爆發值與 ioDrive2 Duo MLC 庫存的相似,但在它們各自趨於穩定後值更高(ioDrive2 Duo MLC HP 在 Linux 和 Windows 上分別穩定在 200,000 和 185,000)。 ioDrive2 Duo MLC 整體處於中間位置; 在整個測試期間,華為 ES3000 HP 的表現優於它(儘管華為 ES3000 HP 在 Linux 上的表現非常零星),並且在穩定狀態下,Fusion ioDrive2 Duo SLC HP 的表現優於它。 然而,在整個測試過程中,它的表現優於 Micron P420m 和 FlashMAX II HP。
ioDrive2 Duo MLC 的平均延遲與其他測試的驅動器相比也是平均的,無論是在突發速率還是穩定狀態下; 它的性能比 FlashMAX II HP 和 Micron P420m 都快,並且優於 Huawei ES3000 HP 和 ioDrive2 Duo SLC HP(儘管 ioDrive2 Duo MLC HP Linux 和 ioDRive2 Duo SLC Windows 的穩定狀態相當)。
最大延遲測試表明,ioDrive2 Duo MLC 在 Linux 上的表現明顯優於在 Windows 上的表現。 在其最佳條件下(惠普 Linux,15 毫秒),它與美光 P420m(始終在 5 到 7 毫秒之間運行)和華為 ES3000(儘管性能不規律,但峰值接近 2 毫秒)並列前三。
在 Linux 上測試的 ioDrive2 Duo MLC 驅動器比在 Windows 上測試的驅動器表現得更好、更一致,表現出更低的標準偏差(惠普驅動器分別為 2.1 毫秒和 2.5 毫秒,普通驅動器分別為 2.8 毫秒和 3.2 毫秒)驅動器)。 華為 ES3000 HP 和美光 P420m 在標準偏差測試中佔據主導地位,前者為 0.5ms(Linux)和 0.7ms(Windows),後者為 0.7(Linux 和 Windows)。
經過 12 小時的預處理,ioDrive2 Duo MLC HP 和 stock 在 Windows 中分別實現了 4 IOPS 和 432,000 IOPS 的 419,000K 隨機讀取性能(在 Linux 中分別為 369,000 IOPS 和 384,000 IOPS)。 Windows 中的寫入值為 182,000 IOPS (HP) 和 110,000 IOPS(庫存),Linux 中為 200,000 IOPS (HP) 和 120,000 IOPS(庫存)。 ioDrive2 Duo MLC 的讀取值被其他所有產品超越,但 FlashMAX II HP 和 HP 寫入值通常處於平均水平。
Fusion-io ioDrive2 Duo MLC 在普通驅動器和惠普驅動器中的寫入值(分別為 Linux 中的 2.127 毫秒和 Windows 中的 2.316 毫秒以及 Linux 中的 1.274 毫秒和 Windows 中的 1.4 毫秒)僅比 MicronP420m 和 FlashMAX II HP 快。 從 ioDrive MLC 驅動器獲得的讀取值總體上超過了除 FlashMAX II HP 和 ioDrive2 Duo SLC HP(僅限 Linux)以外的所有驅動器。
在 Windows 中,普通和 HP ioDrive2 Duo MLC 驅動器的讀取值更快(分別為 19.972 毫秒和 16.479),但在 Linux 中寫入值的速度更快(分別為 47.675 毫秒和 55.809 毫秒)。 與其他測試的驅動器相比,這些值不是很有競爭力。
與其他驅動器相比,ioDrive2 Duo MLC 的整體寫入性能一致性最差,唯一的例外是 ioDrive2 Duo SLC HP。 Windows 測試的 ioDrive2 Duo MLC 驅動器讀取性能的標準偏差更具競爭力(惠普為 0.222 毫秒,庫存為 0.239 毫秒),但仍大致處於平均水平。 Micron P420m 的讀取值(Windows 為 0.089,Linux 為 0.154)在此測試中最為一致。
我們的下一個測試是 8K 70/30 比率的工作負載,其中 ioDrive2 Duo MLC 集體排在最後一位。 在爆率期間,ioDrive2 Duo MLC 原廠驅動器略勝惠普驅動器,但惠普驅動器在它們各自趨於平穩後超過了原廠驅動器。 對於此測試,Linux 和 Windows 之間的性能沒有差異。
與上次測試一樣,ioDrive2 Duo MLC 總體上是所有測試驅動器中最慢的。 隨著 HP 驅動器趨於平穩,Linux 和 Windows 的平均延遲分別保持在 2.10 毫秒和 2.20 毫秒。 在此測試期間,備用驅動器並未完全穩定,一直持續變慢直至結束,Linux 和 Windows 的平均延遲分別為 2.35 毫秒和 2.45 毫秒。
ioDrive2 Duo MLC 在最大延遲測試中總體表現良好,與其他測試的驅動器相比得分非常一致,並且突發速率和穩態速率之間的變化很小。 儘管 Micron P420m 和 Huawei ES3000(均在 Windows 上)主導了該測試,但大多數其他驅動器表現出非常不穩定的性能或更高的最大延遲。
ioDrive2 Duo MLC 總體上表現出最高的標準偏差,因為一切趨於平穩,在 Linux 和 Windows 的 HP 模式下分別達到 2.7 毫秒和 2.9 毫秒(儘管 Windows 上的 FlashMAX HP 顯示了一個峰值,超過了 ioDrive2 Duo MLC 驅動器的數字)。
對於此測試,ioDrive2 Duo MLC 達到的峰值超過了其他驅動器的一些低點; 在大多數情況下,所有 ioDrive2 Duo MLC 驅動器的性能都相對較差,與華為 ES113,000 HP 相比,其最佳狀態下達到了 3000 IOPS 的峰值(HP Linux),後者以一致性更好的性能和峰值340,000 次IOPS。 在此測試期間,普通驅動器和 HP ioDrive2 Duo MLC 驅動器僅略微支持 Linux。
與其他測試的驅動器相比,ioDrive2 Duo MLC 驅動器共同表現出最慢的平均延遲。 同樣,Linux 驅動器在標準模式和 HP 模式下的性能僅略高於 Windows 驅動器。
ioDrive2 Duo MLC 在此測試中的表現優於 ioDrive2 Duo SLC,但僅此而已; 在測試期間,測試的其他驅動器通常比 ioDrive2 Duo MLC 快大約 10 毫秒。 在比較本次測試的 Linux 和 Windows 驅動器時,總體上幾乎沒有差異。 惠普驅動器的得分約為 23 毫秒,庫存驅動器的得分約為 27 毫秒。
ioDrive2 Duo MLC 總體上是所有測試驅動器中最不一致的。 HP 驅動器的標準偏差至少比最接近的競爭對手(Fusion ioDrive0.2 Duo SLC)多 2 毫秒,比領先的華為 ES0.4 驅動器多 1.0 到 3000 毫秒。 普通驅動器始終比惠普驅動器落後 0.3 毫秒,而 Linux 驅動器在 ioDrive2 Duo MLC 的整個測試中表現略好。
結論
2TB 的 Fusion-io ioDrive2.4 Duo MLC 為企業提供性能和容量的組合,以滿足其最苛刻的應用程序。 在我們對 ioMemory 卡的許多評論中,我們對 Fusion-io 寄予厚望,而且很少讓我們失望。 與之前的其他產品一樣,MLC ioDrive2 Duo 提供跨操作系統的可預測性能,並利用最好的軟件包之一來管理存儲,其中包括一個簡單的工具,可將驅動器置於高性能模式以提高響應速度。
深入研究實際應用程序性能,ioDrive2 Duo MLC 在所有基準測試中處於或接近頂部。 它的最佳性能在我們的 SQL Server 基準測試中得到了體現,它在延遲方面領先於其他 PCIe 應用程序加速器。 在我們的 MarkLogic NoSQL 和 Sysbench MySQL 測試中,ioDrive2 Duo 名列前茅,僅次於華為 ES3000 卡。 就純合成性能而言,ioDrive2 Duo MLC 在我們的 Windows 環境中發現了一些最大延遲問題,排在中等或中上等位置,儘管正如我們在應用程序測試中指出的那樣,這並未反映在實際測試中。 總的來說,ioDrive2 Duo MLC 給我們留下了深刻的印象,它在 Linux 和 Windows 測試環境中提供了行業領先的性能。
優點
- 出色的 SQL Server 性能
- 在 NoSQL 和 MySQL 數據庫基準測試中表現出色
- 易於過度配置,以提高寫入工作負載的耐用性或性能
- 行業領先的管理軟件
缺點
- Windows 環境中的一些最大延遲波動
底線
Fusion ioDrive 2 Duo MLC 發布了出色的數據庫性能分數,突出表現在 SQL OLPC 基準測試中的圖表頂級延遲。 對於那些需要更多卡的人來說,很容易調整配置以獲得更多的耐用性或性能,以應對以寫入為中心的工作負載。