web-dev-qa-db-ja.com

AWS、帯域幅、コンテンツ配信

私の質問は、仮想マシンとそのコンテンツをサーバー接続経由でインターネットに配信することについてです。

Ec2 Windowsインスタンスがあり、そのネットワーク接続は100mbpsのようです

そのEC2インスタンスからコンテンツを配信する場合、それが私の潜在的なボトルネックですか?

S3はどのように異なりますか?それらはs3の潜在的なアウトバウンドボトルネックではないと思いますか?

注:静的コンテンツにはs3とそのCDNが適していることはわかっていますが、今はこの状況を調査する必要があります。私たちのHTMLページはAJAX経由でサーバーサイドページにアクセスする必要があります。コンテンツとサーバーがまったく同じドメイン上にある必要があるため、現時点ではこれに対する耐爆性の回避策はないため、S3を使用して除外します。

必要な帯域幅:わからないが、いつでも最大100人のユーザーがビデオをダウンロードできる可能性がある。動画はそれぞれ最大5 MBですが、最大20まで表示されます。

31
Keeno

私はWindowsインスタンスについて話すことはできませんが、それらの基本的な特性はLinuxインスタンスとかなり似ていると思います。

帯域幅使用量の推定では、同時ビデオのダウンロードは100回です(ファイルをダウンロードするのか、ビデオをストリーミングするのかはわかりません。後者を想定します)。 512kbpsのストリームレートを使用する場合、約51Mbit/sまたは6.5MB/sが必要です。

EC2インスタンスは、I/Oパフォーマンス(帯域幅を含む)が異なります。 I/Oパフォーマンスには、低、中、高の3つのレベルがあります。ただし、ディスクI/O(つまりEBSボリュームからの)も帯域幅に依存することに注意してください。 EC2ネットワーク内の帯域幅のみを考慮することができます(インターネットを介して完全に変動するため)。

「低」、「中」、「高」を定量化するためのいくつかの典型的な数値(異なるソースは理論値に対して異なる数値を引用しているため、完全に正確ではない場合があります)。

高:理論的:1Gbps = 125MB/s;現実的( ソース ):750Mbps = 95MB/s

中程度:理論的:250Mbps;現実的( source、p57 ):80Mbps = 10MB/s

低:理論的:100Mbps;現実的な(私自身のテストから):10-15Mbps = 1-2MB/s

(実際には「非常に高い」レベル(理論的には10Gbps)もありますが、これはクラスターコンピューティングインスタンスにのみ適用されます)。

言及のさらなるポイントは、変動の程度です。小さなインスタンスでは、物理コンポーネントがより多くの仮想マシン間で共有されるため、パフォーマンスのばらつきが大きくなります。いずれにしても、パフォーマンスの変動は約+/- 20%と予想できます(ソース: 12 、)。あなたのケースでは(上部の仮定/計算に従って)、13MB /秒のピーク帯域幅が必要になる場合があります(ディスクI/Oもネットワーク制限があるため、6.5MBpsの2倍)。低帯域幅のコンテンツを転送する場合、「中程度」のI/Oパフォーマンスのインスタンスを使用できるはずです( インスタンスタイプのページ を参照)。計算により高帯域幅の要件が発生する場合は、 「高」I/Oパフォーマンスのインスタンスが必要になります。単にデータをストリーミングするだけでCPUやメモリにバインドすることはできませんが、100の同時接続を維持するには、少なくとも中規模のインスタンスが必要です。帯域幅が問題になる場合は、上記に基づいて、大きなインスタンスの方が安全です。

起動したサーバーをベンチマークして、それらが(計算された)ニーズを満たしているかどうかを確認することをお勧めします。 (同じタイプの)2つのインスタンスを起動し、インスタンスのプライベートIPアドレスを使用してそれぞれでiperfを実行します。デフォルトの設定で実行する場合は、セキュリティグループのポート5001を開く必要があります)。さらに、EC2ネットワーク外のほとんどのテストでは、80〜130Mbps(大規模なインスタンス)の結果が示されていますが、そのような数値は必ずしも意味があるわけではありません。

CDNは、セットアップで許可されている場合、ニーズにより適しています。 この記事 によると、S3の帯域幅には約50MB /秒(少なくとも1つのインスタンスから)の制限があるようですが、これは必要な値よりも高い(S3はストリーミングをサポートしていません)。 Cloudfrontは(CDNとして設計されているため)タスクにより適し、デフォルトで1000Mbps = 125MB/sをサポートします( source )リクエストに応じてより高い帯域幅を利用でき、コンテンツをストリーミングすることもできます)

60
cyberx86

この数は、時間の経過とともに変化し、さまざまなインスタンスタイプの数が急増しているようです。しかし、多くの人々がベンチマークを投稿しています。 [instance category] ec2 network benchmarkをグーグル検索して運がよかったです。

たとえば、m4.xlargeインスタンスの帯域幅を知りたいので、ec2 m4 network benchmarkを検索しました。私はワシントンポストエンジニアリングブログからこのテスト結果を見つけました。

Type       Cost    Bandwidth Bandwidth Cost (1Gb/s) Bandwidth Cost EBS optimized
...
m4.xlarge  $0.252  791Mb/s   $0.320                 $0.320
...
0
Simon Woodside