Wer seine Webseiten mit Page Speed analysieren läßt, kriegt sehr wahrscheinlich die Meldung „Parallelize downloads across hostnames“ angezeigt. Das klingt ziemlich kryptisch, weist aber nur auf eine eher wenig bekannte Möglichkeit hin, seine Webseiten zu beschleunigen. Gemeint ist das Parallelisieren von Downloads über verschiedene Domains. Das hört sich im ersten Moment ziemlich kompliziert an und ist auch nicht ganz einfach zu verstehen, aber ich verspreche, dass ich mir Mühe geben werde, es verständlich zu erklären.
Parallele Downloads – die Theorie
Eine typische Webseite besteht aus vielen Ressourcen (Komponenten), die nacheinander vom Browser aufgerufen werden müssen. Dazu zählen z. B. CSS-Dateien, Javascript-Dateien und Bilder. Auf der Startseite meiner Rätselseite werden z. B. 23 Ressourcen geladen, bevor die Seite angezeigt werden kann (die Anzahl der Ressourcen erfährt man wenn man in Page Speed den Tab „Resources“ anklickt). Nun ist es so geregelt, dass Browser 2 Ressourcen auf einmal (also parallel) herunterladen sollen. Die modernen Browser laden sogar 4-6 Ressourcen gleichzeitig herunter. Trotzdem ist das immer noch ziemlich wenig, zumal es durchaus auch Webseiten gibt, die aus 50 oder noch mehr Ressourcen bestehen.
Generell ist es so, dass alle Ressourcen von einer Domain heruntergeladen werden. Wenn man jetzt die Ressourcen aber auf 2 Domains verteilt, lädt ein Browser die doppelte Menge an Ressourcen gleichzeitig herunter. Und das Schöne daran ist, man braucht dafür keine zweite Domain, das Ganze funktioniert nämlich auch mit einer Subdomain.
Parallele Downloads – die Praxis
Wer seine Downloads nun parallelisieren möchte, sollte zuerst mal eine Subdomain anlegen, z. B. http://extern.example.com. Auf dieser Subdomain speichert ihr nun z. B. alle Grafiken, aus denen das Layout besteht. Diese bieten sich deshalb an, weil das Layout ja normalerweise von allen Webseiten verwendet wird und damit alle Seiten gleichzeitig davon profitieren. Danach müssen in allen HTML- und CSS-Dateien die Pfade geändert werden, damit die Grafiken auch gefunden werden können. Wer viele Webseiten hat, für die er Pfadänderungen vornehmen muss, dem empfehle ich für diesen Zweck Notepad++ zu verwenden. Dieser Editor bietet die Möglichkeit des Suchens und Ersetzens über mehrere Dateien hinweg.
Und das war’s dann auch schon. Das Ganze hört sich zwar im ersten Moment schwierig an, aber die praktische Umsetzung ist dafür ziemlich unproblematisch. Messungen habe ich keine vorgenommen, aber meine Webseiten sind nach der Parallelisierung spürbar schneller geworden.
Parallele Downloads bei WordPress
Und allen Blogbetreibern, die wissen wollen, ob das auch mit WordPress funktioniert, kann ich sagen: Ja, es funktioniert und es macht WordPress ein gutes Stück schneller. Die Umsetzung ist allerdings ein bisschen komplizierter, deshalb schreibe ich dazu einen extra Artikel, den ihr morgen hier findet Ressourcen verteilen – WordPress schneller machen
Artikelreihe Webseiten beschleunigen:
Teil 1: Dateigröße von Grafiken verkleinern
Teil 2: Expires-Header verwenden
Teil 4: Die gzip-Compression
Teil 5: Code optimieren
Ah schön freue mich schon auf denn WordPress Artikel 😀
Vielen Dank für die tolle Anleitung. Eine Subdomain kann ja jeder anlegen. Wie siehts denn mit Googele und doppelter Content aus. Ich meine Google mag nicht so genrne Subdomains? Oder sollte man einfach die ganze Subdomain mit einer Robots.txt für den Crawler sperren.
Gruß
Marco
Doppelter Content entsteht ja keiner, da die Grafiken verschoben und nicht kopiert werden. Aber die Idee mit der Sperrung der Subdomain per robots.txt ist trotzdem nicht schlecht. Ich habe das bei mir jetzt mal gemacht.
2 Domains sind sicherlich OK.
Man sollte bedenken, dass auch Subdomains recht „teure“ DNS Abfragen nach sich ziehen. Deshalb sollte man nicht ohne zwingenden Grund auf die Idee kommen, die Resourcen gar auf 5 oder mehr Domains aufzuteilen.
Ja, das ist richtig. Ich denke auch, dass es ausreicht, die Ressourcen auf 2 Domains zu verteilen.
Hallo Erik,
Das ist wirklich eine gute Idee auf die ich bisher noch nicht gestoßen bin.
Ich werde mir wohl eine Subdomain für die Bilder und CSS anlegen.
Mal schauen wieviel Zeitersparnis dabei herauskommt.
Herzliche Grüße
Klaus
Bitte bedenkt, mehrere DNS Lookups mögen Google und co nicht. Der Ansatz ist nicht schlecht aber viel steht oder fällt mit dem Template.
MFG Bazzize
Dank Dir hab ich das jetzt verstanden. Im Falle einer Nische wird dieser Aufwand dementsprechend sich meist nicht lohnen, meiner Meinung nach. Bei einem Blog dann wiederum wohl schon.
Danke Dir!
Stefan