コンテンツ配信ネットワーク (CDN) について考えるとき、Netflix や Hulu など、私たちが知っている大手ブランドに直接行きがちです。それは当然です。お気に入りの番組の最新エピソードが携帯電話やリビングルームのテレビに配信されていると考えると直感的です。もちろん、それはそれよりもはるかに複雑であり、大容量ストレージは顧客エクスペリエンスにおいて重要な役割を果たします。
HuluでSlotherhouseにアクセスすると、ストリーミングデバイスはまず自宅近くのエッジCDNに接続します。CDNノードが保持できるデータ量が多いほど、要求されたコンテンツを取得するために遠くのノードにリダイレクトされることなく、サービスが高速に開始される可能性が高くなります。ビデオストリーミングに必要なホップ数を減らすことのメリットは明らかですが、CDNのメリットはそれだけではありません。
CDN を使用すると、テスラなどの自動車の無線 (OTA) アップデートや、映画ストリームをインターネットから旅客機内に移動するなど、他のユースケースも可能になります。配信されるファイルの種類に関係なく、明らかなことが 1 つあります。エッジでより多くのファイルを保存できるほど、CDN の応答性が向上します。これは、顧客が成功を判断するのに重要なことです。すべてを実現する基盤となるインフラストラクチャ。
いつものレポートと同様に、CDNの仕組みやアーキテクチャへの負荷が最も大きい箇所について、単に憶測するだけでなく、専門家の意見を伺うことにしました。今回は、コンテンツ配信ソフトウェアの分野でトップクラスの実績を誇るVarnish Software社に話を聞きました。
私たちは Varnish と提携して、Varnish のコンテンツ配信ソフトウェア、Supermicro の CDN 専用サーバー、30.72TB Solidigm P5316 SSD による大規模なストレージ占有面積、およびNVIDIA は、エッジ CDN ノードのストレス要因と、特にストレージが結果にどのような影響を与えるかをより適切に把握できるようになりました。
Varnish Software とは何ですか?
Varnish は、デジタル インタラクションの高速化、大量のトラフィック負荷の処理、Web インフラストラクチャの保護を容易にするコンテンツ配信ソフトウェアを提供します。 Varnish は、組織がコンテンツ配信を可能な限りクライアントに近づけて、インフラストラクチャへの投資収益率を最大化しながら最高のエクスペリエンスを確保できるように支援します。
この基盤は、オリジンとクライアントの間に位置する、機能が豊富で堅牢なオープンソースの HTTP キャッシュおよびリバース プロキシである Varnish Cache に基づいています。基盤となるハードウェアから最大のパフォーマンスと効率を引き出すように最適化されています。 Varnish Cache は、システム レベルのキューイング、ストレージ、取得を合理化し、コンテンツ配信とエッジ配信のワークロードをベンチマークするための理想的な方法となります。
Varnish はほぼあらゆるもので実行できますが、顧客エクスペリエンスを向上させるために、いくつかの主要な領域でエッジ ノードの馬力を高めることには利点があります。クライアント デバイスからデータ センターに戻るたびに遅延が発生するため、エッジ ノードが提供できる量が多ければ多いほど良いのです。そのために、私たちは究極のエッジ CDN ノードを構築し、Varnish の厳密なノード検証ツールを使用してテストしました。
Varnish CDN がなぜこれほど速いのか?
CDN には、特にエッジにおいて高速ネットワーク以上のものが必要です。すべてのリクエストを更新のためにホスト サイトに戻さなければならない場合、非効率的で遅くなります。最適なソリューションは、顧客の近くでデータを処理および保存するストレージ システムです。このシステムには、大規模なストレージ機能と、キャッシュから情報を迅速に取得して遅延なく配信できる高性能サーバーが必要です。
Varnish Software は、高性能サーバーと高密度ストレージ システムを備えた事実上あらゆる環境に対応する、非常に大規模なデータ セットをサポートするソリューションを実装しました。大規模ストレージ エンジンをご紹介します。
Varnish Software の大規模ストレージ エンジン (MSE) は、最適化されたディスクおよびメモリ キャッシュ エンジンです。 MSE は、ビデオとメディアの配信、CDN、および大規模なキャッシュの使用例をサポートする 100 TB 以上のデータ セットの高性能キャッシュと永続化を可能にします。 MSE は、大規模なデータ セットの高性能配信が重要な企業に最適です。
高性能 MSE を使用すると、再起動とアップグレードの間でキャッシュがそのまま維持されるため、高価で時間のかかるキャッシュの再充填が防止されます。これにより、迅速な取得が可能になり、再起動後のネットワークの輻輳を回避できます。
MSE ソリューションは、ほぼ無制限のサイズのオブジェクトをキャッシュに保存して提供し、高速かつスケーラブルなコンテンツ配信を実現します。 MSE は、最も長く使用されていない (LRU) キャッシュ削除ポリシーに基づいて断片化が少ないコンテンツを配信するように最適化されており、優れたパフォーマンスと同時実行性を実現します。キャッシュ サイズが 50 GB を超える顧客、またはメモリが限られている顧客には、Varnish では MSE の使用をお勧めします。
最新世代の MSE (MSE 4) では、ディスクの正常な障害が可能になり、ディスク障害が検出された後に永続的なキャッシュ フットプリントが自動的に動作を再開できるようになります。
エッジ CDN ノードのハードウェア構成
今回のテストでは、エッジCDNノードとして機能する単一のサーバーと単一のクライアントを利用しました。CDNノードは、 Intel Xeon Gold 6414U CPUを1基搭載したSupermicro SYS-111E-WRサーバーをベースとしています。このCPUは32コアで、基本周波数は2GHzです。
この CPU を 256GB DDR5 メモリと 5316 台の Solidigm P30.72 XNUMXTB QLC SSD と組み合わせました。この設計は、より高価な SSD や十分に活用されていない追加の CPU リソースを必要とせずに、無駄のない導入モデルがパフォーマンスの面で何を提供できるかを示すことを目的としていました。
クライアント側では、ラボで利用可能な Intel Xeon Platinum 8450H CPU を搭載したデュアルプロセッサ プラットフォームを使用しました。これは過剰ですが、ボトルネックがネットワークまたは CDN ノードであることを確認するためのリソースは十分にありました。
私たちのシステムは OS として Ubuntu 22.04 を使用して構成されており、それぞれに NVIDIA 200Gb NIC が装備されていました。 200Gb イーサネット ファブリックは、このテスト シナリオに十分な帯域幅を提供しました。
エッジ CDN ノードのパフォーマンス
テスト実行では、構築したエッジ ノード上の Varnish Software の全体的なパフォーマンスを調べました。具体的には、評価される重要なメトリクスには、TTLB (最後のバイトまでの時間)、リクエスト/秒、転送/秒 (バイト)、合計リクエスト、エラー、CPU 使用率、メモリ使用量、スループット、およびグッドプットが含まれます。明確にするために、スループットは Varnish によって送信されるすべてのものであり、グッドプットは再送信やオーバーヘッド データを無視してクライアントが実際に見るものです。
テストは、負荷生成ツールとしてWRKを使用し、100個のTCP接続を用いてビデオバックエンドから様々なサイズのファイルチャンクを取得することで実施されました。テストは、実際のビデオ配信環境でよく見られる状況をシミュレートするため、キャッシュヒット率が90%から95%になるように設計されました。様々なワークロードをシミュレートするために、小ファイルと大ファイルのパフォーマンスに焦点を当てました。小ファイルはAPI呼び出しをシミュレートでき、大ファイルはライブ配信やビデオオンデマンド(VOD)シナリオにおける様々なビデオ品質を表現できます。
小さいオブジェクトのテストでは 100 キロバイトと 500 キロバイトのファイル サイズをテストし、大きいオブジェクトのテストでは 1,000、10,000、16,000、および 50,000 キロバイトのファイル サイズをテストしました。私たちは、さまざまなファイル サイズを調べることで、さまざまな CDN ユースケースを把握したいと考えていました。大量だが小規模の API 呼び出しを行う組織の場合、100 キロバイトはほとんどの場合よりも大きくなるでしょう。 VOD の場合、10MB のオブジェクトは短いビデオ クリップ、16MB は HD ビデオ、50MB はさらに高品質のビデオを表す場合があります。これらのファイル サイズは、ISO イメージ、ソフトウェア アップデート、インストール パッケージの配布と配信にも適用できます。
負荷テスト ツール WRK は TTLB (最後のバイトまでの時間) を返すため、遅延メトリクスはビデオ チャンク全体の完全な読み込み時間を示します。また、TTFB (Time to First Byte) は最初のサーバー応答の時間で、通常はミリ秒単位で測定され、さまざまなファイル サイズに対して一定です。
4.4 ミリ秒から最大 995.2 ミリ秒までの TTLB が観察されました。 100 キロバイトの最小のビデオ チャンクの場合、平均完全応答はわずか 4.4 ミリ秒でした。最大サイズの 50MB の場合でも、ロード全体は平均 1 秒未満で完了しました。
その他の注目すべき指標はエラー数です。記録された唯一のエラーは、いくつかの残留タイムアウト エラーでした。これらは最大サイズのオブジェクトに対して期待されます。 CPU とメモリの使用率は健全なままであり、これらのテスト全体で全容量の約 50 パーセントから最大 60 パーセントでした。 CPU 使用率が最も高かったのは、100KB テストで 58.8%、50MB テストで 58% でした。これは、小さいファイルに対するリクエストの数と大きいファイルのサイズが多かったためです。
大きいサイズのビデオの平均スループットは 170.5 Gbps 以上で、小さいサイズのビデオの平均スループットは 164 Gbps 以上でした。
158.8 つの WRK クライアントをローディング ジェネレーターとして使用した場合、大きいサイズのグッドプット平均は 149.1 Gbps 以上、小さいサイズの場合は XNUMX Gbps 以上でした。 Varnish が内部で実行した他のいくつかの実験で観察されたように、WRK クライアントをスケーリングすることでより高いスループットを達成できることが期待されますが、それはこのホワイト ペーパーの範囲外です。
エッジCDNシステムにおいては、性能指標はもちろん重要ですが、消費電力も考慮すべき重要な要素です。そこで、今回のプロジェクトで採用したプラットフォームが重要になります。シングルソケットのSupermicro SYS-111E-WRサーバーは、デュアルプロセッサによる過度な電力消費を抑えつつ、高密度NVMeストレージプラットフォームとNIC用の豊富なPCIeスロットを提供します。
負荷が適用された状態でサーバーから消費される電力を測定するために、Quaarch の主電源分析モジュールを活用しました。これにより、サーバーから消費される電力を 125us の応答時間で正確に把握できます。ここでは、各テスト グループを同じ期間実行し、ワークロードの開始から終了までの平均電力を測定しました。
私たちは、システムの合計 RMS 電力とテスト ファイル サイズ、および 1 秒あたりのワットあたりのリクエストという 2 つの電力メトリクスに焦点を当てました。最初の仮定は、転送速度が速くなると電力使用量が増加するというものですが、実際はそうではありませんでした。転送サイズが小さいと消費電力が増加しますが、転送サイズが大きくなるにつれて消費電力はわずかに減少します。これは、転送サイズが小さいと 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 でパフォーマンスの数値を確認したとき、Varnish のエンジニアは、ノードのパフォーマンスが非常に優れていたため、Gen5 SSD を使用していると考えていました。
サーバー密度は重要な要素の 600 つですが、コストが最適化された CDN ノードは別のものです。ここで使用したシングルプロセッサの Supermicro サーバーは、Varnish に多くのハードウェア機能と拡張オプションを提供し、XNUMX 個の NVMe ベイにより、Solidigm の SSD 容量のリーダーシップを使用して XNUMX TB 以上のストレージを蓄積できます。 XNUMX ドルあたりの相対的なパフォーマンス、そしてデータをもう少し詳しく知りたい場合は、ワットあたりのパフォーマンスという指標に議論の余地はありません。
CDN には、予測可能な場合もあれば予測できないリクエストも含めて、即座にデータを配信するといううらやましいタスクがあります。細かく調整されたサーバー ハードウェアは、これらの CDN ノードのパフォーマンスに大きな違いをもたらしますが、そのパフォーマンスはますますエッジに追いやられています。 Solidigm の大規模なエンタープライズ SSD を使用すると、これらのノードはキャッシュ ヒット率を大幅に向上させ、最終的に優れた顧客エクスペリエンスを提供できます。
このレポートは Solidigm によって後援されています。このレポートで表明されているすべての見解や意見は、検討中の製品に対する当社の公平な見解に基づいています。




Amazon