ドメイン間でコンポーネントを分割することで並列ダウンロードを最大化し、Cookieのない静的コンテンツドメインを作成する方法を理解していますが、各ドメインのルックアップに時間コストがあるため、使用するドメインの最適数はいくつですか?
ドメイン間でコンポーネントを分割することで並列ダウンロードを最大化し、Cookieのない静的コンテンツドメインを作成する方法を理解していますが、各ドメインのルックアップに時間コストがあるため、使用するドメインの最適数はいくつですか?
回答:
私の推奨は、比較的単純なサイトの場合、1つの「静的コンテンツ」ドメインで十分であることです。DNSルックアップはキャッシュする必要があるため、そのサーバーとの最初の接続にのみ影響しますが、それでも最小限に抑える必要があります。
すべてのJavaScript、CSS、静的画像を配置して、Cookie処理のオーバーヘッドを削減し、その作業を別の物理サーバーにオフロードするオプションを提供できます。複数の人気のある関連サイト(例:スタックオーバーフロー、サーバー障害など)を実行している場合は、それらすべての間で静的サイトを共有できます(例:sstatic.net)。
もちろん、より多くのドメインが適切な場合もあります(たとえば、写真のホスティングサイトが、写真の提供を別のドメインにオフロードする場合があります)。
マルチホストリクエストの利点がDNSセットアップコストを上回る1つのエッジケースを考えることができます。
Googleマップスタイルのスリッピーマップからマップタイルを提供する場合、それらがすべて同じ基礎となるリソース(画像)を指している場合でも、タイルの場所をはるかに多数のホストに仮想的に分散することの利点を確認できます。これらの場合、ブラウザーのキャッシュが最適に機能し、リクエストのバランスが取れるように、リソースのプロパティ(行番号と列番号のMODの組み合わせなど)に基づいて1つのホストに「アフィニティ」が設定されていることを確認する必要があります特定のビュー範囲のすべてのホストにわたって。
この状況は非常に特殊化していますが、基本的には、非標準のユースケースがある場合はすべてをテストし、すべてのシナリオの生の数値とUX /認識されるパフォーマンスの両方を含めることを忘れないでください。