26

現在、いくつかのソースからの JavaScript を使用するサイトを構築しています。

グループ 1: Google Maps API v3 (Google がホスト)
グループ 2: jQuery & swfobject (Google CDN でホスト)
グループ 3:いくつかの jQuery プラグインと jquery 以外の javascript ファイル (私のサーバーでホスト)

Justin Etheredge のツールSquishItを使用して、サーバー (グループ 3) でホストされているすべての JavaScript ファイルを結合および縮小しています。

(グループ 2) のファイルをローカルでホストして、(グループ 3) の他のすべてのファイルと組み合わせることができ、グループに対して 1 つの HTTP 要求のみを必要とする場合、サイトがユーザーにとってより速く感じるかどうか疑問に思っています。 2 & 3. これは、Google CDNのメリットを享受できないことを意味します。

この件について誰かアドバイスはありますか?

編集: また、この質問に対する数値ベースの回答を得るにはどうすればよいですか? それは可能ですか?

4

4 に答える 4

8

ユーザーが同じアセットを使用する別のサイトにアクセスしてキャッシュされた google cdn ファイルを既に持っている可能性に依存すると思います。

私の意見では、CDN は縮小されており、ファイルをダウンロードする必要がまったくない可能性が高いため、CDN を使用する方がよいと考えています。他のすべてを組み合わせて縮小します。

これらの google cdn ライブラリ ファイルのグローバル キャッシュ ヒット ミス率を知りたいです。

于 2010-06-09T21:34:14.707 に答える
3

CDN の使用と結合/縮小は、目的が異なります。両方使えるなら。

  1. Javascript ファイルの結合 - ページからの http リクエストの数を減らす
  2. Javacsript ファイルの縮小 - ファイルサイズの縮小
  3. Cdn の使用 - レイテンシーを改善します。

両方を使用する方法を見つけることができれば、それは素晴らしいことです

ただし、Javascript ファイルを結合すると、単純に縮小するだけでなく、より複雑な問題になる可能性があります。

必要に応じて他の CDN を使用できます (Amazon CloudFront )

于 2010-06-09T21:29:18.273 に答える
3

おそらく大差ないでしょう。

JavaScript ファイルは小さく静的であり、ユーザーのブラウザーによってキャッシュされます。Google CDN に保存されているコピーを使用することで、ユーザーが初めてサイトにアクセスしたときにスクリプトをダウンロードする必要さえなくなる場合があります。

ただし、Google コピーを使用すると、Google への依存も発生します。サーバーがダウンした場合 (少なくとも近い将来にはダウンしない可能性があります)、サイトが正しく機能しない可能性があります。

于 2010-06-09T21:29:29.240 に答える
1

私は結合し、縮小し(クロージャーを使用)、(akamai)CDNを使用しています。ただし、Web パフォーマンスに関する最も重要なヒントは次のとおりです。

  1. 無期限キャッシュを使用する
  2. 非同期読み込み: このスクリプトを使用して、外部 js ファイルを読み込むことができます

    (function() {
      setTimeout(function(){
        var sc = document.createElement('script'); sc.type = 'text/javascript'; sc.async = true;
        sc.src = 'youfile';
       (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(sc);
      },0);
    })();
    
于 2010-06-10T01:57:59.597 に答える