Amazon Web Services ブログ

TCP BBR 輻輳制御による Amazon CloudFront のパフォーマンス向上

コンテンツデリバリネットワーク (CDN) が提供すべき重要な要素の1つとしてパフォーマンスがあります。パフォーマンスの良さを示す2つの観点としてレイテンシーとスループットがあり、これらが優れていると大量の情報を高速にかつ安定して送ることができます。これらの観点はビデオストリームや API コール等のあらゆるコンテンツ配信で重要となります。私たちは、最も幅広いワークロードとコンテンツに対して最高品質の体験を提供することと、パフォーマンスを最大化することのために、Amazon CloudFront の技術とインフラストラクチャを継続的に改良しています。

2019年3月から4月にかけて、CloudFront はレイテンシーとスループットを改良する新しいTCPの輻輳制御アルゴリズムを反映しました。適用したアルゴリズムは TCP BBR ( bottleneck bandwidth and round trip )  輻輳制御アルゴリズムです。BBR はインターネット通信のパフォーマンス向上を目的とした Google によって開発されたアルゴリズムです。BBR では、ネットワークにおけるラウンドトリップタイムと通信の速度を計測することで動作します。そして、その計測したデータを、パフォーマンス改良のためにヒューリスティックなパケットページングとして活用します。

BBR アルゴリズムには他の輻輳制御アルゴリズムよりも多くの利点があります。CUBIC、Reno、Vegas のような TCP 輻輳制御アルゴリズムはパケット伝送の公平性と、輻輳やパケットロスの検出または応答方法のバランスをとります。これら従来のアルゴリズムでは、パケット伝送をより積極的に中断したり、パケットロス発生時に回復処理をしたりするために、待ち時間やスループットに変動が発生する可能性があります。それに対して、BBR はラウンドトリップタイムを測定することで輻輳を評価します。これによりレイテンシーを下げながら、高く安定したスループットを得ることができます。BBRは状況の変化に対して素早く対応しますが、一時的な問題が発生している場合でも積極的にできるだけ多くのデータを送信しようと動作します。

CloudFront で BBR を使うことはメリットがあり、いくつかのネットワークおよびリージョンにおける総スループットが22%向上しました。

これらのパフォーマンス向上は、リソースサイズやラストワンマイルのネットワーク品質、距離、キャパシティなどの様々な要因によって異なります。

BBR がパフォーマンスに影響を与えた例として、次のグラフを参照してください。このグラフは、事前テストにおいて BBR を有効にした前後におけるインドのあるPOPの待ち時間を示しています。グラフでは BBR を使用することで約 14 %の改良がされたことを確認できます。

一部のお客様や企業の方はすでにこのパフォーマンス向上に気づいています。例えば、クラウドソーシング企業の Tutela では世界中のネットワークパフォーマンスと品質データを収集し、モバイル企業が世界のネットワークを理解し改良することに役立てています。CloudFront を含む CDN に対して毎日何百万回もダウンロードテストをすることで、モバイル向けのインフラに関する情報を収集し、ワイヤレス通信のユーザエクスペリエンスをテストしています。テストでは 3 億人のスマートフォンユーザが使用している 3000 を超えるモバイルアプリケーションのセットからデータが収集されています。

以下のグラフでは、2MB のテストファイルが CloudFront からダウンロードされたときのグローバルにおける平均スループットを Tutela が計測した結果を示しています。

次のグラフに示すように、BBR の効果は大陸レベルで現れています。特にアジアではすぐに約 28% の大幅な向上が見られます。

Tutela のテスト方法は実際のユーザーデバイスのエンドツーエンドのパフォーマンスをテストしているため、パフォーマンスが向上したことはユーザにとって意味のある結果を示しています。

ある地域を見ると、その変化はさらに明確になります。
例えば、米国においてモバイルネットワークの視聴者の CloudFront を使ったダウンロード速度が、BBR を使用すると大幅に改良しました。
次のグラフでは、2 人のオペレータが ダウンロードにおけるCloudFront リクエストの平均スループットを大幅に向上させた(100%以上の向上)ことがわかります。

我々の継続的な研究と実験はパフォーマンス向上の展開につながりました。これは我々がCloudFront の全体最適化のために投資している多くの対象の1つにすぎません。我々の目標は、お客様とそのユーザのエクスペリエンスを向上させ続けることができるように、インフラストラクチャ展開の規模とパフォーマンスを最大化することです。これからも CloudFront の機能アップデートに乞うご期待ください。


著者:

Ted Middleton, Principal Product Manager, Amazon CloudFront

Adam Johnson, Principal Engineer, Amazon CloudFront

飜訳はSA三上が担当しました。原文はこちら