3

CDN - BlobStorageとWebRole、およびperfrormanceについて非常に基本的な質問があります。静的ファイル(画像、CSS、JavaScript)を保存するための最高のパフォーマンス - CDN - BlobStorageまたはWebRole

私は、静的コンテンツ、HTML、Js、画像、CSS &のビデオを持つ非常に単純なWebサイトを持っています(ユーザーがすべてのサイトにアクセスすると、私のウェブサイトのトラフィックは英国から98%になり、1日あたり最大500.000人のユニークビジターを持つ予定です。

私の質問はパフォーマンスです。

私のwebroleでCDNを有効にすることをお勧めしますか?私はそれから恩恵を受けるだろうか?私のトラフィックが「主に」英国から来ていても、CDNを使用する利点はありますか?インターネットプロバイダ(例えばBT)のプロキシにキャッシュされたCDNコンテンツですか?

ブロブのストレージアカウントにイメージやビデオなどをホストし、ウェブの役割からの絶対URLで参照することをお勧めしますか? BLOBに静的ファイルをホストする(ストレージアカウントでCDNを有効にすることはできますか?)か、スタティックファイルをWebロールに置くかの間に、パフォーマンスの点で違いはありますか?

私は多くの参考文献をオンラインで見つけられませんでしたが、Webロール、CDNとストレージは異なるディスク/キャッシュレイヤー/ネットワークレイヤーを使用しており、パフォーマンスに影響するはずです。

答えて

1

私が考え得る唯一のことは、CDNの役割を使用すると、ブラウザとプロキシが長い時間これらのイメージをキャッシュすることができるように、画像上でより良いヘッダーを持つ可能性があるということです。それらのリソースのヘッダーを制御しているメインサイトの画像を提供します。

CDNでホストされているリソース(別のドメイン名、第3レベルのドメインを使用しない)へのすべてのリクエストには、メインサイトに必要なCookieと認証ヘッダーが含まれていないため、 。

+0

Simone、私はあなたの考えに同意します...しかし、それは本当に私の質問に答えることはできません...私のサイトは英国のトラフィックだけを提供するつもりならCDNを使用すると便利ですか?パフォーマンスの点でストレージアカウントまたはウェブロールを使用する方が良いですか?ウェブロールでホストされている静的ファイルとストレージアカウントでホストされているファイルの間で、パフォーマンスの点で大きな違いがありますか? – Stelio

+0

CDNを使用すると、リソースに必要な帯域幅が少なくなり(Cookieオーバーヘッドなし)、Davidが述べたように、WebロールへのリクエストはすべてStaticResource HandlerにヒットするまでIISパイプラインを経由するため、理論的にはCPUとメモリ。あなたはすぐにテストをすることができますか? CDNとwebroleに異なるサイズのファイルをアップロードして1000000時間要求すると、応答時間が平均化され、答えが得られます:) – smnbss

+0

私ができるすべてのテストは、私のISPネットワークの品質...とにかく私はそれを行うだろうと私は結果を投稿する... CDN、CDNなしとストレージを使用して... – Stelio

9

ブロブストレージ(またはCDN)の静的コンテンツをホストすると、Web Roleインスタンス(特にIIS)からかなりの負荷がかかります。これによりCPUとメモリの使用量、およびWebインスタンスの全体的な帯域幅が減少します。もう少し詳しく:ほとんどのブラウザは、特定のドメインへの2つの同時接続用に設定されています。静的コンテンツをBlobまたはCDNに移動すると、コンテンツのダウンロードに関してブラウザに追加のドメインともう少し並列性が与えられます。

したい場合は、CDNで行くことができますが、それは(あなたが強制的にコンテンツを期限切れにすることができないとして)あまり頻繁に変化するコンテンツのためのCDNを使用することをお勧めします。あなたがあまり頻繁に変わらないいくつかのCSS、背景画像などを持っているなら、それらは素晴らしいCDN候補です。それが日々変化するフロントページのHTMLファイルなら、私はそのCDNをスキップします。

データセンターに直接アクセスする利点は、CDNアクセスが必ずしも地理的に最も近いノードであるとは限りません。それは多くの要因に基づいています。つまり、EMEA地域にはいくつかのCDNノードがあります(完全リストhereを参照)。 CDNを後で追加することはできますが、BLOBストレージに移動することは、CDNがなくてもアプリのパフォーマンスにプラスの影響を与えます。

EDIT:あなたの展開を束ねる対ブロブで静的コンテンツを格納する1つの以上の利点はあります:あなたは非常に簡単に全体の展開パッケージを再デプロイ/再構築することなく、個々のファイルを更新することができます。

+0

私は配信の静的なファイルが多くのCPUを消費するとは思わないおよびWebロールインスタンスからのメモリ。私のwebroleは "静的な"ファイルしか持たないでしょう。複数のドメインについて、私はあなたに同意しますが、それはすべてクライアントの動作に関するものです。私の質問はAzure側にありました....すべてのトラフィックがUKから来る場合、CDNの支払いに便利ですか?もう1つの問題は、自分のシナリオで標準のウェブロールではなくストレージアカウントを使用することの利便性ですか?私が影響を与えると思う唯一の2つの要因は、Azureインフラストラクチャで使用されるディスク、キャッシュ、およびネットワークレイヤです。 – Stelio

+1

すべての呼び出しは、メモリとCPUを意味するIISを経由します。大量のサイトをお持ちの場合は、システムリソースが減少します。 IISは基本的にすべてのコンテンツ呼び出しを仲介しています。私は私が扱っているISVのいくつかとこの最初の手を見てきました。それについて考える:コンテンツを提供するためにIISを通過するか、完全にバイパスして、ストレージサービスを利用して拡張します。 –

+0

私は、IISがこのシナリオのボトルネックになるのかどうか完全には分かっていません...ストレージアカウントがIISを使用して静的ファイルをホストしているとは確信していません。 – Stelio

関連する問題