當考慮內容交付網路 (CDN) 時,很容易直接想到我們所知道的大品牌,例如 Netflix、Hulu 等。這是有道理的; 想像一下您最喜歡的節目的最新一集被分發到您的手機或客廳電視上是很直觀的。 當然,實際情況比這複雜得多,大容量儲存在客戶體驗中起著重要作用。
當考慮內容交付網路 (CDN) 時,很容易直接想到我們所知道的大品牌,例如 Netflix、Hulu 等。這是有道理的; 想像一下您最喜歡的節目的最新一集被分發到您的手機或客廳電視上是很直觀的。 當然,實際情況比這複雜得多,大容量儲存在客戶體驗中起著重要作用。
打電話時 Hulu 上的斯洛瑟豪斯,您的串流媒體設備將首先訪問離家較近的邊緣 CDN。 CDN 節點可以保存的資料越多,服務就越有可能提供快速啟動,而不是跳到更遠的節點來檢索請求的內容。 減少視訊串流所需的躍點的好處相當明顯,但 CDN 的作用遠不止於此。
CDN 還支援其他用例,例如特斯拉等汽車的無線 (OTA) 更新或將這些電影串流從互聯網轉移到商用客機內部。 無論交付的文件類型如何,有一件事是明確的:您在邊緣存儲的文件越多,CDN 的響應能力就越強,這一點至關重要,因為客戶通過throbber 的旋轉來衡量成功,而很少關心底層基礎設施使這一切發生。
像往常的報告一樣,我們不僅僅是想推測 CDN 的工作原理以及最有可能發現架構壓力的地方。 我們去找了專家。 在這種情況下,那就是 清漆軟體,內容交付軟體領域的傑出領導者之一。
我們與Varnish 合作,在我們的實驗室中配置了一個完美的邊緣CDN 節點,配備了Varnish 的內容交付軟體、Supermicro 的CDN 專用伺服器、30.72TB Solidigm P5316 SSD 帶來的海量儲存空間以及來自Supermicro 的高速200GbE 互連NVIDIA 旨在更好地處理邊緣 CDN 節點上的壓力源,以及儲存如何影響結果。
Varnish 軟體是誰?
Varnish 提供的內容交付軟體可輕鬆加速數位互動、處理大量流量負載並保護網路基礎架構。 Varnish 協助組織將內容交付盡可能靠近客戶,以確保最佳體驗,同時實現基礎設施投資的最大回報。
此基礎基於功能豐富且強大的開源 HTTP 快取和反向代理 Varnish Cache,位於來源端和客戶端之間。 它經過優化,可以從底層硬體中獲得最大的性能和效率。 Varnish Cache 簡化了系統級排隊、儲存和檢索,使其成為對內容交付和邊緣交付工作負載進行基準測試的理想方法。
Varnish 幾乎可以在任何東西上運行,但在幾個關鍵領域為邊緣節點提供更多的馬力以增強客戶體驗是有好處的。 從客戶端設備返回資料中心的每一跳都會產生延遲,因此邊緣節點可以交付的資料越多越好。 為此,我們建立了終極邊緣 CDN 節點,並使用 Varnish 嚴格的節點驗證工具對其進行了測試。
是什麼讓 Varnish CDN 如此之快?
CDN 需要的不僅僅是快速網絡,尤其是在邊緣。 如果每個請求都必須返回主機站點進行刷新,則效率低且速度慢。 最佳解決方案是在靠近客戶的地方處理和儲存資料的儲存系統。 該系統需要海量儲存能力和高效能伺服器,能夠快速從快取中提取資訊並立即交付。
Varnish Software 實作了一種支援超大型資料集的解決方案,可滿足幾乎任何具有高效能伺服器和高密度儲存系統的環境。 認識海量儲存引擎。
Varnish Software 的海量儲存引擎 (MSE) 是一種最佳化的磁碟和記憶體快取引擎。 MSE 為超過 100TB 的資料集提供高效能快取和持久性,支援視訊和媒體分發、CDN 和大型快取用例。 MSE 非常適合對大型資料集的高效能交付至關重要的公司。
借助高效能 MSE,快取在重新啟動和升級之間保持完整,從而避免昂貴且耗時的快取重新填充。 這提供了快速檢索並有助於避免重新啟動後的網路擁塞。
MSE 解決方案可以在快取中儲存和提供幾乎無限大小的對象,以實現快速且可擴展的內容交付。 MSE 經過最佳化,可根據最近最少使用 (LRU) 快取逐出策略提供較少碎片的內容,從而實現卓越的效能和並發性。 對於快取大小大於 50GB 或記憶體有限的客戶,Varnish 建議使用 MSE。
最新一代的 MSE (MSE 4) 允許磁碟發生正常故障,從而使持久快取佔用空間能夠在偵測到磁碟故障後自動恢復運作。
邊緣CDN節點硬體配置
在我們的測試場景中,我們利用單一伺服器充當邊緣 CDN 節點和單一客戶端。 我們的CDN節點是基於 美超微 SYS-111E-WR 伺服器 配備單一 Intel Xeon Gold 6414U CPU。 該CPU提供32核,基礎頻率為2GHz。
我們將此 CPU 與 256GB DDR5 記憶體和八塊 Solidigm P5316 30.72TB QLC SSD 搭配使用。 此設計旨在展示精益部署模型在效能方面可以提供什麼,而不需要更昂貴的 SSD 或未充分利用的額外 CPU 資源。
對於客戶端,我們在實驗室中使用了可用的雙處理器平台,配備 Intel Xeon Platinum 8450H CPU,雖然有些過大,但有足夠的資源來確保瓶頸要么是網絡,要么是 CDN 節點。
我們的系統配置了 Ubuntu 22.04 作為作業系統,每個系統都配備了 NVIDIA 200Gb NIC。 200Gb 乙太網路結構為此測試場景提供了充足的頻寬。
邊緣CDN節點效能
測試運行考察了 Varnish Software 在我們建立的邊緣節點上的整體效能。 具體來說,評估的關鍵指標包括TTLB(到最後一個位元組的時間)、請求/秒、傳輸/秒(位元組)、總請求、錯誤、CPU 使用率、記憶體使用率、吞吐量和吞吐量。 需要明確的是,吞吐量是 Varnish 發送的所有內容,而良好吞吐量是客戶端實際看到的內容,忽略重傳或開銷資料。
測試是使用完成的 WRK 作為負載產生工具,使用 100 個 TCP 連線從視訊後端拉取不同大小的檔案區塊。 該測試旨在實現 90% 至 95% 的快取命中率,以模擬部署的視訊交付環境中常見的情況。 為了模擬不同的工作負載,我們專注於小檔案和大檔案的效能,其中較小的檔案可以模擬 API 調用,較大的檔案可以代表直播或視訊點播 (VOD) 場景中的各種視訊品質。
對於較小的物件測試,我們測試了 100 和 500 KB 的檔案大小,對於較大的對象,我們測試了 1,000、10,000、16,000 和 50,000 KB 的檔案大小。 我們希望透過查看一系列檔案大小來捕獲 CDN 用例的組合。 對於進行大量但小型 API 呼叫的組織來說,100 KB 可能比大多數組織還要大。 對於 VOD,10MB 物件可能代表短視頻剪輯,16MB 代表高清視頻,50MB 代表更高品質的視頻。 這些檔案大小也可用於分發和交付 ISO 映像、軟體更新和安裝套件。
負載測試工具 WRK 傳回 TTLB(到最後一個位元組的時間),因此延遲指標顯示整個視訊區塊的完整載入時間。 此外,TTFB(第一個位元組的時間)是第一次伺服器回應的時間,通常以毫秒為單位,並且對於許多不同的檔案大小來說是恆定的。
我們觀察到 TTLB 為 4.4 毫秒至 995.2 毫秒。 對於 100 KB 的最小視訊區塊,平均完整響應僅為 4.4 毫秒。 對於最大 50MB 的大小,整個加載仍然平均在 1 秒內完成。
其他值得注意的指標是錯誤計數; 唯一注意到的錯誤是一些殘留超時錯誤。 這些預計適用於最大尺寸的物體。 在這些測試中,CPU 和記憶體使用率保持健康,約為滿容量的 50% 至 60%。 CPU 使用率最高出現在 100KB 測試期間,佔 58.8%,而 50MB 測試期間,佔 58%,這是由於對較小檔案的請求數量和較大檔案的大小所致。
較大尺寸影片的平均吞吐量為 170.5+ Gbps,較小尺寸影片的平均吞吐量為 164+ Gbps。
使用一個 WRK 用戶端作為載入產生器時,較大尺寸的平均吞吐量為 158.8+ Gbps,較小尺寸的平均吞吐量為 149.1+ Gbps。 正如在 Varnish 內部運行的其他一些實驗中觀察到的那樣,預計可以透過擴展 WRK 客戶端來實現更高的吞吐量,但這超出了本文的範圍。
雖然原始效能指標很重要,但功耗是 Edge CDN 系統的另一個考慮因素。 這就是我們為此專案選擇的平台發揮作用的地方。 單插座 美超微 SYS-111E-WR 伺服器 提供密集的 NVMe 儲存平台,具有大量用於 NIC 的 PCIe 插槽,而雙處理器不會過於耗電。
為了測量施加負載時伺服器的功耗,我們利用了 Quarch 主電源分析模組。 這使我們能夠準確地了解伺服器的功耗,回應時間為 125us。 在這裡,我們在相同的時間內運行了每個測試組,並測量了從工作負載開始到結束的平均功率。
我們專注於兩個功率指標:總系統 RMS 功率與測試檔案大小以及每秒每瓦請求數。 雖然第一個假設是功耗隨著傳輸速度的提高而增加,但事實並非如此。 我們發現傳輸大小較低時功耗會增加,隨著傳輸大小的增加,功耗會略微下降。 這歸結為較小的傳輸大小驅動更多的 I/O 進程,而較大的傳輸大小驅動更少的 I/O 進程。
看看總系統功耗,在 1M 傳輸大小時,我們測得系統功耗為 473.9W,在 426.5M 傳輸大小時下降至 50W。 當我們將其分解為每秒每瓦特的請求數時,1M 傳輸大小的測量值為 46.9,而 1.09M 傳輸大小的測量值則下降到 50。
平衡性能和成本
我們的 Varnish CDN 節點旨在提供卓越的效能和密度。 不僅具有 1U 伺服器機架密度,還具有 Solidigm SSD 提供的容量密度。 今天我們「僅」使用 30.72TB P5316 驅動器,但 61.44TB P5336 單元還有更多優勢。 更好的是,CDN 工作負載的讀取量非常大,這意味著這些基於 QLC 的 SSD 非常適合該任務。 有趣的是,當使用 Varnish 查看效能資料時,他們的工程師認為我們使用的是 Gen5 SSD,因為節點效能非常令人印象深刻。
雖然伺服器密度是關鍵因素,但成本優化的 CDN 節點則是另一回事。 我們在這裡使用的單處理器 Supermicro 伺服器為 Varnish 提供了大量的硬體功能和擴充選項,而十個 NVMe 托架讓我們利用 Solidigm 的 SSD 容量領先優勢累積了超過 600TB 的儲存空間。 每美元的相對性能,如果您想更深入地了解我們的數據,每瓦性能,這裡的指標是無可爭議的。
CDN 的任務並不令人羨慕,即根據有時可預測、有時不可預測的請求即時傳送資料。 精心調校的伺服器硬體對這些 CDN 節點的效能產生了巨大影響,而 CDN 節點正日益被推向邊緣。 借助 Solidigm 的海量企業級 SSD,這些節點可以顯著提高快取命中率,最終提供卓越的客戶體驗。
本報告由 Solidigm 贊助。 本報告中表達的所有觀點和意見均基於我們對所考慮產品的公正看法。
參與 StorageReview
電子通訊 | YouTube | 播客 iTunes/Spotify | Instagram | Twitter | 的TikTok | RSS訂閱