Wie viele Domänen müssen Komponenten aufgeteilt werden?

10

Ich verstehe, wie die Aufteilung von Komponenten auf Domänen parallele Downloads maximieren und es Ihnen ermöglichen kann, domänenfreie statische Inhaltsdomänen zu erstellen. Da jedoch für jede Domain-Suche Zeitkosten anfallen, welche Anzahl von Domänen ist optimal zu verwenden?

theotherreceive
quelle

Antworten:

8

Meine Empfehlung ist, dass für relativ einfache Websites eine Domain mit "statischem Inhalt" ausreichen sollte. DNS-Lookups sollten zwischengespeichert werden, wirken sich also nur auf den ersten Kontakt mit diesem Server aus, sollten jedoch auf ein Minimum beschränkt bleiben.

Sie können alle Ihre Javascript-, CSS- und statischen Bilder dort platzieren, um den Aufwand für die Cookie-Verarbeitung zu verringern und die Möglichkeit zu bieten, diese Arbeit auf einen anderen physischen Server zu verlagern. Wenn Sie mehrere beliebte, verwandte Sites ausführen (z. B. Stapelüberlauf, Serverfehler usw.), können Sie eine statische Site für alle freigeben (z. B. sstatic.net).

Natürlich kann es Situationen geben, in denen mehr Domains geeignet sind (z. B. kann eine Fotohosting-Site das Foto, das bereitgestellt wird, auf eine andere separate Domain verlagern).

Mark Hatton
quelle
Wenn Sie JavaScript-Frameworks verwenden, können Sie diese auch von Google für Sie hosten lassen ( code.google.com/apis/ajaxlibs ). Dies hat den zusätzlichen Vorteil, dass der Benutzer, der bereits eine andere Website besucht hat, die JS von Google abruft, diese möglicherweise bereits im Cache hat.
Michael Mior
2

Ich kann mir einen Randfall vorstellen, bei dem die Vorteile von Multi-Host-Anforderungen die Kosten für die DNS-Einrichtung überwiegen.

Wenn Sie Kartenkacheln von einer rutschigen Karte im Google Maps-Stil bereitstellen, können Sie die Vorteile einer virtuellen Verteilung Ihrer Kachelpositionen auf eine viel größere Anzahl von Hosts erkennen, selbst wenn alle auf dieselben zugrunde liegenden Ressourcen (Bilder) verweisen. In diesen Fällen sollten Sie sicherstellen, dass für die Ressourcen basierend auf ihren Eigenschaften eine "Affinität" zu einem Host festgelegt ist (z. B. eine Kombination aus dem MOD von Zeilen- und Spaltennummern), damit das Browser-Caching optimal funktioniert und die Anforderungen ausgeglichen sind über alle Hosts für einen bestimmten Ansichtsumfang.

Diese Situation ist sehr spezialisiert, betont jedoch im Wesentlichen nur, dass Sie bei einem nicht standardmäßigen Anwendungsfall sicherstellen müssen, dass Sie alles testen, und nicht vergessen, sowohl die Rohzahlen als auch die UX / wahrgenommene Leistung aller Szenarien anzugeben.

JasonBirch
quelle