10

最近、Rackspace Cloudfiles CDN(Limelight)の使用を開始しましたが、いくつか質問があります。

  1. カスタムJSコードに加えて、jQuery、jQuery UI、jQueryツールを使用しています。また、私のサイトはASP.Netで記述されています。つまり、ASP.Netで生成されたJSコードがいくつかあります。

今私が行ったことは、ASP.Netで生成されたJSを除くすべてのjs(jqueryコードを含む)を1つのファイルに結合したことです。私はこれをRackspaceCDNでホストしています。

GoogleがホストするCDNからjQuery、jQuery UIファイルを取得する方が理にかなっているのではないかと思います(これらのファイルはすでに多くのユーザーのキャッシュにあるため、これらのファイルを提供するのに非常にうまくいくと思います)。

これは1つの余分なHTTPリクエストを意味するので、それが役立つかどうかはわかりません。

  1. 現在、アセット用に複数のコンテナがあります。たとえば、Rackspaceには、JS、CSS、Imagesの3つのコンテナがあります。3つすべてのURLサブドメインが異なります。それはパフォーマンスの低下につながりますか?1つのコンテナ(したがって、CDN用に1つのドメイン)を使用する必要がありますか?

  2. MS ASP.Netで生成されたJSをMSCDNからロードする方法はありますか?上記の質問のように、これはパフォーマンスに影響を与えますか?

4

2 に答える 2

7

Webサイトを高速化するための一番の方法は、HTTPリクエストを最小限に抑えることです(Yahooのベストプラクティス)。したがって、すでにCDNから結合されたCSSファイルを提供している場合は、それを実行しています。一部をGoogleから、一部をCDNから提供すると、リクエストが追加されます。

残念ながら、CSSとJSを1つのファイルに結合することはできないため、CSSとJSに対してそれぞれ1つのリクエストでスタックすることになります。これらがGZIPPEDで提供されていることを確認することをお勧めします。

画像に関する限り、画像を高速化する最善の方法は、可能な限り画像スプライトを使用することです。

並列ダウンロードの数が増えるため、別々のドメインからファイルを提供することはおそらく理にかなっています。(これに関するyahooからの別の記事)。jsとcssが2つのファイルしかない場合は、おそらくこれを1つのドメインに配置し、画像を別のドメインに配置できます。

于 2010-04-24T13:01:04.140 に答える
3

アセットを別のドメインに置く方が間違いなく良いです。

ブラウザは、Webアセットを1つずつ、または単一のホストから順番にロードします。同じドメインからの前のアセットで完了するまで、次のアセットの要求とダウンロードを開始しません。したがって、ブラウザは2つの異なるドメインから同時にコンテンツをダウンロードできるため、ホストまたはドメインを2倍にすると、ダウンロード速度が約100%高速化されます。

ウェブサイトでCookieまたはセッションが有効になっている場合、ブラウザはドメインにリクエストを送信するたびにセッションCookieを送信します。これは静的コンテンツであるため、サーバーは静的なサービスを提供するためにCookieをまったく必要としません。画像などのコンテンツ。帯域幅の浪費であるだけでなく、通信時間の浪費でもあります。これを回避するには、Cookieが有効になっていないドメインからすべての静的コンテンツを提供します。

それどころか、JSを更新するサイトでサービスを提供すると、新しいフレームワークに対して現在のJSを最初にテストする機会を失うため、JSコードがトリッキーになる可能性があります。

于 2010-04-24T13:02:38.620 に答える