私は明らかに自分自身の限られたテストを行うことができますが、少なくとも中規模のWebサイトで実際の経験を持つ何人かの人々から話を聞くことを望んでいます。
サイト/帯域幅を最適化するためのすべての「トップ10」リストの2つの項目は次のとおりです。
- できるだけ多くのJSとCSSを1つのファイルに統合します(ラウンドトリップを減らすため)。と
- コンテンツ配信ネットワークを使用します(帯域幅を節約する/ダウンロードを高速化するため)。
現在、ほとんどすべての重要なスクリプトは、GoogleまたはMicrosoftのCDN(あるいはその両方)で見つけることができます。jQueryThemeRollerパッケージのようなかなり重いアイテムを見つけることさえできます。Amazon S3のようなプライベートCDNアカウントに対してこれらのCDNを使用する主な利点の1つは、多くの訪問者が他のWebサイトからこれらのスクリプトをすでにキャッシュしていることです。そうでない場合でも、Googleのようなサイトのパフォーマンスに勝るものはありません。
したがって、パフォーマンスを向上または低下させたり、同じにしたりするために、個人のCDNアカウントに追加料金を支払うのではなく、これらのパブリックCDNを使用したいとします。また、これらすべてのパブリックCDNにあるJS / CSSファイルの束を使用しているとしましょう:jQuery、jquery-ui、1つのテーマ、jQuery TOOLS、そしておそらく他のいくつかのファイル。これらに加えて、superfish、jquery.approach、hoverIntentなど、パブリックCDNでは利用できないいくつかのスクリプトを使用している可能性があります。本当に一般的なもの。相互に排他的な2つのオプションがあるようです。
- 上記のスクリプトについては、パブリックCDNを参照してください。利点は、他の誰かの帯域幅を使用して、これらのスクリプトのいくつかの人気を利用できることです。欠点は、クライアントがこれらすべてのファイルに対して7回以上のラウンドトリップを実行する必要があることです(4つの個別のJS、1つのCSS、および統合/縮小されたローカルのものに対して各1つのCSSとJS)。または...
- すべてを2つのモノリシックミニファイファイル(1つはJS用、もう1つはCSS用)に詰め込み、すべてを自分のWebサーバーから提供します。利点は、往復が2回しかないことです(少なくとも66%の節約)。もちろん、不利な点は、今では自分ではるかに多くのサービスを提供しなければならないことです。
これは難しい選択のように思えます。どちらがうまく機能するか(クライアントの読み込み時間と全体的なユーザーエクスペリエンスの関数である「より良い」)を実際に理解する唯一の方法は、実際にそれを公開して何が起こるかを確認することだと思います。
それで、誰かが以前にこの選択をしなければならなかったことがありますか?もしそうなら、あなたは何を選びましたか、そしてなぜ、そしてそれはどれくらいうまくいきましたか?または、誰かが隔離された環境でテストのタスクに取り組もうとした場合、どのようにそれを実行し、結果はどうでしたか?
PSこれはすべて、「Webアプリケーション」タイプのサイトを説明しています。つまり、メディアはそれほど多くありませんが、実際にはページサイズのかなりの部分を占める大量のスタイルとスクリプトが含まれている可能性があります。したがって、私はこれを単なる知的運動以上のものと考えています。