私は単純な ASP.Net MVC3 ベースの Web アプリを持っています。最近、パフォーマンスの調整を行っています。Mozilla の Firebug を使用して、リソースのロード サイズとタイミングを確認しました。その後、YSlow を使用して最適化の可能性を導き出しました。
js と cssをミニファイし、1 つの結合されたjs と css にバンドルする「バンドルとミニフィケーション」の一般的な最適化の概念に焦点を絞りたいと思います。YSlow によると、余分なサーバー リクエストと帯域幅/時間を節約できます。しかし、私の場合は矛盾しています!SquishIt libを使用しています。
これが私の統計です(添付の画像を確認してください)
Old Login page: Requests(10), Size(434), Load Time in seconds(29), YSlow grade C(78)
New Login page: Requests(6), Size(414), Load Time in seconds(42), YSlow grade B(88)
古い元のページ -
これが新しい最適化されたページです -
理想的には逆にする必要があります!しかし、結合された js ファイルがより多くの時間を取っているようです。より正確な違いを得るために帯域幅を遅くし、両方のページに公平なチャンスがあることを確認するために、キャッシュなしでテストしました(Ctrl + F5も行いました)。それらは同じセットアップで同じサーバー上にあります。
注:画像の最後の画像リロードは無視してください - 更新を行いました。後続のページがキャッシュされたリソースを取得できるように、ログインページにいくつかの追加のjQueryライブラリを事前にロードしています。あなたはそのようなことを無視することができますが、これが可能かどうか、または私が何か間違いを犯しているのか教えてください。
バンドルとミニフィケーションに関するもう 1 つの質問- リソースに CDN 参照を使用している場合は適用できないと思います (バンドルすることはできません)。その場合、CDN 参照とバンドルのどちらが優先されますか?