英特爾推出了 P5510 NVMe SSD於去年144月推出,第一款採用9層TLC NAND的企業級SSD上市。 從那時起,我們就在我們的實驗室中廣泛地看到了這些驅動器,它們由於極具競爭力的性價比而非常受歡迎。 幾乎在同一時間,三星推出了他們的 PM3A1 SSD。 基於不太透明的 9xx 層 NAND,PM3A2 與英特爾一樣,是一款旗艦級垂直集成 SSD 解決方案。 由於兩家公司都廣泛推出容量為 7.68TB 的流行 U.XNUMX 外形尺寸,我們著手讓這些龐然大物正面交鋒,看看誰在企業 SSD 大戰中佔據優勢。
英特爾推出了 P5510 NVMe SSD於去年144月推出,第一款採用9層TLC NAND的企業級SSD上市。 從那時起,我們就在我們的實驗室中廣泛地看到了這些驅動器,它們由於極具競爭力的性價比而非常受歡迎。 幾乎在同一時間,三星推出了他們的 PM3A1 SSD。 基於不太透明的 9xx 層 NAND,PM3A2 與英特爾一樣,是一款旗艦級垂直集成 SSD 解決方案。 由於兩家公司都廣泛推出容量為 7.68TB 的流行 U.XNUMX 外形尺寸,我們著手讓這些龐然大物正面交鋒,看看誰在企業 SSD 大戰中佔據優勢。
英特爾P5510
比較 SSD 的問題在於供應商強調的規格並不總是反映真實場景。 例如,幾乎所有規格表都是針對單個驅動器在非常良好的運行條件下完成的。
在這種情況下,我們看到高級統計數據,如 900,000 次隨機讀取 IOPS 和來自 PM6,500A9 的高達 3 MB/s 的順序讀取。 轉向英特爾,P5510 聲稱 930,000 IOPS 和 7000MB/s 的帶寬。 雖然浮華,但這些數字並沒有給我們一個完整的畫面。
三星PM9A3
為了更深入地了解性能,我們所做的是從每個 SSD 中取出八個 SSD,並將它們放置在行業領先的服務器中以進行更深入的分析。 我們的測試重點集中在混合工作負載上,因為企業 SSD 很少只分塊處理單個工作負載。 我們還評估了具有多個命名空間的嘈雜鄰居場景,最後研究了驅動器在嚴重寫入壓力下的表現。
不過,在我們走得太遠之前,讓我們根據這些驅動器所在的位置來設置場景。 兩者都以主流的 U.2 外形規格提供。 三星還提供 PM9A3 作為 E1.S、E1.L 和 U.3。 PM9A3 也採用 M.2 外形,但由於 M.2 外形具有低得多的功率包絡,因此性能配置文件大大降低。 英特爾確實提供了短尺外形的 P4510,他們也以這種方式提供 P5510 是合理的。
容量方面,Intel 走的是主流的 3.84TB 和 7.68TB 容量。 三星採取了更廣泛的方法,增加了 960GB、1.92TB 和 15.36TB 容量,但並非所有這些都適用於所有外形尺寸。
最後一個要考慮的主要因素是耐用性,P5510 和 PM9A3 都額定為每天寫入一個驅動器,將它們置於已成為主流的混合工作負載類別中。 在保修方面,英特爾提供五年保修,而三星提供三年保修。 這實際上非常重要,因為這意味著英特爾具有更高的有效耐用性,因為他們在額外兩年內交付了 1DWPD。
英特爾 P5510 對比三星 PM9A3 性能
為了進行比較,我們選擇了一個 戴爾PowerEdge R750,在此配置中支持八個 NVMe SSD。 兩批 SSD 在同一台服務器上以相同的方式進行了測試。
高級規範包括:
- 2 個英特爾可擴展 Gen3 8380
- 32 個 32GB DDR4 3200MHz
- Ubuntu 20.04.2 實時服務器(合成工作負載)
- VMware ESXi 7.0u2(應用程序工作負載)
- 8 個 PCI Gen4 U.2 NVMe 托架
基準測試使用 VDbench 和 FIO 進行綜合基準測試,並使用 Percona Sysbench 和 Benchmark Factory 進行 SQL Server。
VD基準:每組 8 個 NVMe SSD 都經過安全擦除,然後使用 64K 寫入操作寫入整個磁盤表面,然後進行一小時的 64K 順序預處理工作負載。 完成後,每個驅動器都會分配一個佔磁盤表面 25% 的分區(2TB SSD 的分區為 8TB)。
然後我們關註一組常見的工作負載配置文件,包括隨機讀取和寫入工作負載,以及常見的混合工作負載。 我們還使用了旨在復制 SQL、Oracle 和 VDI 工作負載的 I/O 模式。 在隨機 I/O 模式開始之前,我們額外執行了 1 小時的 4K 隨機寫入活動。
工作負載配置文件
- 4K隨機讀寫
- 4K隨機70/30
- 8K隨機70/30
- 16K隨機70/30
- 綜合數據庫:SQL 和 Oracle
- VDI 完整克隆和鏈接克隆跟踪
從 4K 隨機讀取工作負載開始,我們測量了八塊英特爾 P5510 SSD 的性能,範圍從延遲 669 微秒時的 70K IOPS 到延遲 6.67 微秒時的 151M IOPS 峰值。 相比之下,三星 PM9A3 落後,因為它在開始時的 581 微秒時測得 75K IOPS,然後在 5.76 微秒時達到 173M IOPS 的峰值。
在隨機寫入 4K 工作負載中,三星 PM9A3 在寫入性能方面具有優勢,它在 404 微秒的延遲時測得 16K IOPS,並在 4.03 微秒時達到 239M IOPS 的峰值。 Intel P5510 開始時在 362 微秒時提供 18K IOPS,隨著工作負載的增加,在 3.5 微秒延遲時擴展到 235 萬 IOPS。
純讀取或寫入工作負載通常不會顯示 SSD 的全貌,而混合工作負載有助於在更真實的條件下顯示更好的圖像。 在這個具有 4% 讀取混合的 70K 工作負載中,英特爾 P5510 的性能從開始時的 392K IOPS 以 57 微秒擴展,然後在 4 微秒時達到 116M IOPS 的最大值。 三星 PM9A3 以 393 微秒時的 60K IOPS 開始,並在 3.91 微秒時擴展到 129M IOPS。
使用相同的 8% 讀取混合將塊大小增加到 70K,英特爾 P5510 顯示出與三星 PM9A3 相比更大的差異。 在這裡,英特爾 P5510 在 247 微秒時測得 70K IOPS,在 2.57 微秒時擴展到 188 萬 IOPS。 三星 PM9A3 在 215 微秒時以 68K IOPS 開始,並在 2.18 微秒時上升到 216M IOPS。
轉向更大的 16K 隨機 70% 讀取工作負載,英特爾和三星驅動器之間的差距繼續擴大。 Intel 在 142 微秒時以 87K IOPS 開始時出現了更高的延遲,然後在 1.49 微秒時上升到 312M IOPS。 相比之下,三星 PM9A3 在 115 微秒時以 76K IOPS 開始,然後在 1.17 微秒時達到 359 萬 IOPS。
在我們的 SQL 合成工作負載中,我們再次轉向混合數據配置文件。 Intel P5510 從 225K IOPS 79 微秒擴展到 2.30M IOPS 110 微秒。 三星 PM9A3 的範圍從 230 微秒時的 80K IOPS 到 2.25 微秒時的 109M IOPS。
對於 80% 讀取配置文件中的 SQL 工作負載,我們看到 Intel P5510 的範圍從 214 微秒時的 69K IOPS 到峰值時 2.14 微秒時的 117 萬 IOPS。 三星 PM9A3 在 207 微秒時以 71K IOPS 開始,並在 2.04 微秒時上升到 117M IOPS。
我們最後的 SQL 工作負載移動到 90% 的讀取配置文件,寫入活動較少。 在這裡,Intel P5510 在 220 微秒時以 74K IOPS 開始,並在 2.27 微秒時擴展到 111M IOPS。 三星 PM9A3 從 226 微秒時的 76K IOPS 到 2.20 微秒時的 109 萬 IOPS 不等,僅次於英特爾 SSD。
在 Oracle 綜合工作負載中,英特爾 P5510 仍然保持對三星 PM9A3 的微弱領先。 在這裡,我們看到 Intel P5510 在 210 微秒時以 69K IOPS 開始,在 2.08 微秒時達到 120M IOPS 的最高值。 相比之下,三星 PM9A3 的範圍從 191 微秒時的 71K IOPS 到 1.91 微秒時的 121M IOPS。
在我們的 Oracle 合成數據庫配置文件中有更重的寫入混合和 80% 的讀取混合,我們看到了兩個 SSD 模型之間的另一個交叉。 Intel P5510 從 175 微秒時的 67K IOPS 擴展到 1.76 微秒時的 98M IOPS。 三星 PM9A3 在 179 微秒時以 70K IOPS 開始,在 1.76 微秒時上升到 96M IOPS。
我們最後一個 Oracle 綜合數據庫配置文件移動到 90% 的讀取混合。 在這裡,英特爾 P5510 在 180 微秒時以 72K IOPS 開始,並在 1.81 微秒時擴展到 96M IOPS。 緊追英特爾尾巴的三星 PM9A3 在 183 微秒時以 75K IOPS 開始,在 1.80 微秒時達到 95M IOPS 的最高值。
隨著我們接近 Vdbench 工作負載的尾聲,我們的最後六個配置文件圍繞 VDI 配置文件展開,涵蓋完整克隆和鏈接克隆場景的啟動、初始登錄和星期一登錄。
在我們的完整克隆啟動配置文件中,Intel P5510 從 169 微秒時的 85K IOPS 擴展到 1.72 微秒時的 147M IOPS。 三星 PM9A3 在 163 微秒時以 82K IOPS 開始,並在 1.62 微秒時上升到 143M IOPS。
我們的下一個完整克隆配置文件涵蓋初始登錄用例。 在這裡,Intel P5510 從 90 微秒時的 50K IOPS 擴展到 900 微秒時的 176K IOPS。 相比之下,三星 PM9A3 在 88 微秒時以 47K IOPS 開始,在 879 微秒時達到 208K IOPS 的峰值。
我們最後一個完整克隆的 VDI 配置文件涵蓋了周一登錄場景。 在這裡,英特爾 P5510 開始時的延遲高於三星,在 66 微秒時為 77K IOPS,在 677 微秒時達到 147K IOPS。 三星 PM9A3 的範圍從 59 微秒時的 65K IOPS 到 597 微秒時的 161K IOPS。
切換到我們的鏈接克隆 VDI 配置文件,我們的第一個是 Boot。 三星 PM9A3 在此測試中具有明顯的優勢,它從 78 微秒的 102K IOPS 擴展到 757 微秒的 137K IOPS。 Intel P5510 的範圍從 59 微秒時的 147K IOPS 到 584 微秒時的 181K IOPS。
在鏈接克隆 Initial Login 工作負載中,兩個 SSD 之間的差距縮小了。 三星 PM9A3 在 36 微秒時以 74K IOPS 開始,在 362 微秒時達到 129K IOPS。 Intel P5510 以 36 微秒時的 87K IOPS 開始,並在 339 微秒時擴展到 139K IOPS。
我們最後一個 Vdbench 工作負載配置文件涵蓋了鏈接克隆 VDI 星期一登錄配置文件。 Intel P5510 在 50.4 微秒時以 91K IOPS 開始,在 506 微秒時達到 194K IOPS 的峰值。 三星 PM9A3 在 44.4 微秒時以 76K IOPS 開始,在 464 微秒時達到 208K IOPS。
FIO 寫入壓力測試
存儲工作負載變得越來越複雜,因為 SSD 在高峰使用級別跟上並發讀/寫請求。 在並發寫入壓力下為 IO 提供服務的能力比在沒有寫入的情況下進行讀取更有趣。 供應商可以將背景活動保持在足夠低的水平,以顯示“基準”,例如在卸載條件下的讀取響應。 但這不是現實世界中 IO 的工作方式。
此工作負載還演示了 SSD 在其核心固件和 NAND 組件級別如何暫停或暫存寫入並優先讀取。 讀取優先級可以推動某些應用產品的 SLA 要求。 因此,寫入壓力測試的動機是由測試並發 IO 以及 SSD 產品的彈性和 QoS 的需要驅動的。
在我們的寫入壓力測試中,我們在 Intel P5510 和 Samsung PM9A3 測試組的八個驅動器上運行了工作負載。 在測試閃存設備時,我們發現在許多情況下,單獨的驅動器測試並不總能反映該驅動器在更活躍的系統中的響應方式。 為了展示性能是如何反映的,我們從每組中的兩個驅動器中提取結果,在這種情況下對應於每個測試組中的驅動器 XNUMX 和 XNUMX。
在這種情況下,我們查看的第一個指標是 Intel P5510 和 Samsung PM9A3 之間的平均完成延遲比較,寫入壓力工作負載從 10MB/s 水平應用到 700MB/s。 兩個英特爾 SSD 樣本以 78 微秒的完成延遲 (CLAT) 開始,並在 211MB/s 的水平上增加到 700 微秒。 相比之下,三星 PM9A3 從 82 微秒開始,在 251MB/s 時上升到 700 微秒。 在 800MB/s 時,P5510 比 PM108A9 領先 3 微秒。
下一個焦點移至第 99 個百分位數的延遲,它更好地描繪了響應時間的上限。 我們看到英特爾 P5510 的響應時間稍長,在 388MB/s 時為 10 微秒,但在 9MB/s 時下降並低於三星 PM3A110,在請求的數據速率為 709MB/s 時持續高達 700 微秒。 三星 PM9A3 在 151MB/s 時從 10 微秒開始,在 930MB/s 請求時擴展到 700 微秒。 在 800MB/s 時,P5510 比 PM196A9 提高了 3 微秒。
FIO 嘈雜鄰居測試
傳統上,要查看 SSD 如何在不同的並發工作負載下運行,您需要同時向設備應用讀取和寫入工作負載。 這些工作負載還可以包括不同的塊大小和其他元素。 NVMe SSD 帶來了一個新概念,它們可以提供多租戶命名空間配置,而不是常見的分區。
在多個租戶都將其配置的命名空間用於不同工作負載的情況下,重要的是延遲不會增加到存儲不再響應每個租戶的程度。 在嘈雜的鄰居測試中,我們將混合寫入工作負載應用於六個已配置命名空間中的三個,並跟踪其餘三個命名空間的讀取延遲,以查看每個驅動器如何處理並發寫入和讀取活動。
將英特爾 P5510 與三星 PM9A3 進行比較,我們發現英特爾固態硬盤在從平均完成到 4 個 9 的延遲響應時間的延遲方面優於三星固態硬盤。 比較讀取工作負載 NS4、NS5 和 NS6 工作負載的完成延遲,我們看到英特爾 P5510 的測量值分別為 132、141 和 162 微秒。 這與三星 PM9A3 形成鮮明對比,三星 PM136A145 在其各自的命名空間工作負載上測得的時間分別為 168、XNUMX 和 XNUMX 微秒。
上升到第 99 位,我們測量 Intel P5510 的 NS469、NS482 和 NS502 分別為 4、5 和 6 微秒,而三星 PM9A3 為 523、545 和 594 微秒。 在第 99.9,英特爾 P5510 的測量結果為 652、660 和 685 微秒,而三星 PM9A3 為 816、832 和 881 微秒。 在第 99.99 位,英特爾仍然以 816、832 和 848 微秒遙遙領先於三星 PM9A3 的 1020、1037 和 1090 微秒。
SQL Server 性能
StorageReview 的 Microsoft SQL Server OLTP 測試協議採用事務處理性能委員會的基準 C (TPC-C) 的最新草案,這是一種模擬複雜應用程序環境中活動的在線事務處理基準。 TPC-C 基準比綜合性能基準更接近於衡量數據庫環境中存儲基礎設施的性能優勢和瓶頸。
每個 SQL Server VM 都配置有兩個虛擬磁盤:100GB 卷用於啟動,500GB 卷用於數據庫和日誌文件。 從系統資源的角度來看,我們為每個虛擬機配置了 16 個 vCPU、64GB DRAM 並利用了 LSI Logic SAS SCSI 控制器。 雖然我們之前測試的 Sysbench 工作負載在存儲 I/O 和容量方面使平台飽和,但 SQL 測試尋找延遲性能。
SQL Server 測試配置(每個虛擬機)
- 在Windows Server 2012 R2
- 存儲空間:分配 600GB,使用 500GB
- SQL Server 2014的
- 數據庫大小:1,500 規模
- 虛擬客戶端負載:15,000
- 內存緩衝區:48GB
- 測試時長:3 小時
- 2.5 小時預處理
- 30分鐘採樣期
當關注 8VM 負載(每個 SSD 1 個 VM)的 SQL Server TPC-C 工作負載的平均讀取延遲時,英特爾 P5510 和三星 PM9A3 都以 1.0 毫秒的響應時間最大化了工作負載。
Sysbench MySQL 性能
我們的 Sysbench 測試利用 Percona 將 I/O 驅動到 MySQL OLTP 數據庫。 該測試測量平均 TPS(每秒事務數)、平均延遲和平均 99% 延遲。
每個 Sysbench VM 配置了三個虛擬磁盤:一個用於啟動 (~92GB),一個用於預構建數據庫 (~447GB),第三個用於測試中的數據庫 (270GB)。 從系統資源的角度來看,我們為每個虛擬機配置了 16 個 vCPU、60GB DRAM 並利用了 LSI Logic SAS SCSI 控制器。
Sysbench 測試配置(每個虛擬機)
- 中央操作系統 6.3 64 位
- Percona XtraDB 5.5.30-rel30.1
- 數據庫表:100
- 數據庫大小:10,000,000
- 數據庫線程:32
- 內存緩衝區:24GB
- 測試時長:3 小時
- 2 小時預處理 32 個線程
- 1 小時 32 個線程
在 16VM 負載(每個 SSD 2 個 VM)的情況下,我們從八個 Intel P38,838 SSD 組測得 5510 TPS,而三星 PM9A3 組測得 38,717 TPS。 此工作負載還使測試平台上的 CPU 飽和。 將負載降低到 8 個虛擬機或每個 SSD 1 個,英特爾 P5510 組測得 30,337 TPS,而三星 PM9A3 組測得 29,438 TPS。
比較每組 8 個 NVMe SSD 的平均延遲,我們測得 Intel P5510 16VM 工作負載為 13.18ms,8VM 工作負載為 8.44ms。 三星 PM9A3 組在 13.23 個虛擬機時測得 16 毫秒,在 8.69 個虛擬機時測得 8 毫秒。
在我們關注 Sysbench 中第 99 個百分位延遲的最終工作負載中,我們測量了運行 5510 個虛擬機的 25.35 毫秒的英特爾 P16 SSD 組和 14.50 個虛擬機工作負載的 8 毫秒。 這與三星 PM9A3 SSD 在 26.21 個 VM 時為 16ms,在 14.74 個 VM 時為 8ms 形成對比。
結論
這個練習很有趣。 我們開始的前提是單個企業 SSD 的規格表不是很有幫助。 他們通常專注於針對非常小的特定工作負載的高端性能。 但是在企業中,在 運行兩個驅動器的刀片,系統利用許多 SSD,雖然帶寬很重要,但延遲才是王道。 當我們完成這個冗長且有時極其密集的測試計劃時,延遲的影響變得顯而易見。 實際上,這可能是主機系統可以支持多少個 VM 或應用程序對最終用戶的響應速度的差異。
從整體的實際性能來看,英特爾 P5510 和三星 PM9A3 描繪了一幅有趣的畫面。 在綜合基準測試中,英特爾 P5510 在大多數專注於混合數據配置文件的工作負載中具有優勢,隨著工作負載更加基於寫入,差距越來越大。 它在塊大小方面也有優勢,我們看到它的領先優勢從 4K 到 8K 再到 16K 傳輸大小。
雖然關注原始性能是一回事,但延遲是另一回事。 這是我們在寫入壓力測試下查看延遲的地方。 在這裡,英特爾 P5510 在延遲方面顯示出優勢,因為應用的寫入工作負載以 10MB/s 的增量增加到 850MB/s。 在 800MB/s 的測試上限,英特爾 P5510 在完成延遲方面比三星 PM108A9 領先 3 微秒,在第 196.5 個百分位延遲方面領先 99 微秒。
我們的最後一個測試測量了 SSD 在嘈雜的鄰居工作負載下的性能,其中三個命名空間在寫入工作負載下,三個命名空間在讀取工作負載下。 P5510 繼續保持較低的讀取延遲,隨著您查看延遲響應能力的四個 9,差距越來越大。
轉向我們跨 8 個 Intel P5510 和 Samsung PM9A3 SSD 組的應用程序工作負載,這兩個驅動器都能夠使我們的 SQL Server 測試達到飽和,總響應時間降至 1 毫秒。 不過在 Sysbench 中,當 CPU 得到充分利用時,P5510 在 9VM 和 3VM 工作負載方面均優於 PM8A16。
總的來說,這是兩個驅動器之間的戰鬥。 當您只看規格表編號時,這些驅動器非常相似。 但在此測試中,英特爾驅動器在最苛刻的情況下始終顯示出更好的延遲。 加上額外的兩年保修,P5510 提供了一個非常有吸引力的包裝。
本報告由英特爾公司贊助。 本報告中表達的所有觀點和意見均基於我們對所考慮產品的公正看法。
參與 StorageReview
電子通訊 | YouTube | 播客 iTunes/Spotify | Instagram | Twitter | Facebook | RSS訂閱