Schritt 4: Auslieferung der Ressourcen über mehrere Domains

In dem letzten Schritt der Optimierung des Themes wurden die Auswirkungen auf die Ladezeit bei der Auslieferung statischer Ressourcen über mehrere Domains sowie durch ein Content Delivery Network verglichen.

Für den Versuch unter der Verwendung mehrerer Domains wurde das Theme dupliziert und zwei zusätzliche Subdomains zur Auslieferung von Bildern und Skripten angelegt. Dadurch lässt sich die Anzahl der gleichzeitigen Verbindungen des Browsers, wie in Kapitel 3.6.2 beschrieben, erhöhen. Anschließend wurden die Pfade der externen Ressourcen in den HTML-Dokumenten auf die jeweiligen Subdomains abgeändert. Dieses Vorgehen wurde auch für die Versuche mit den Content Delivery Networks Amazon CloudFront und MaxCDN gewählt.

Die Einrichtung von Amazon CloudFront war deutlich komplizierter und mit einem höheren Aufwand verbunden als bei MaxCDN. Damit Ressourcen über CloudFront ausgeliefert werden, ist es erforderlich, diese vorher dort hochzuladen. Während bei MaxCDN die Angabe des Verzeichnisses der Ressourcen auf dem normalen Webserver ausreicht, um diese automatisiert in das CDN zu übernehmen. Die Verwendung von Konfigurationen durch HTACCESS-Dateien war bei beiden Anbietern nicht möglich, daher mussten die Angaben zum Caching entsprechend konfiguriert werden. Ein weiterer Nachteil bei CloudFront war der Umstand, dass eine Komprimierung der Ressourcen vor dem Hochladen mittels GZIP per Hand vorgenommen werden musste.

Starke Schwankungen in der Time To First Byte bei CloudFront führten dazu, dass keine vergleichbaren Messergebnisse mit WebPagetest erzielt werden konnten. Der nachfolgende Vergleich bei dem Abruf der Startseite, über einen Desktop-Rechner mit kabelgebundener Datenverbindung und über ein Mobilfunknetz, bezieht sich daher nur auf die Auslieferung der Ressourcen über Subdomains und den Anbieter MaxCDN.

Tabelle 4.5: Abruf der Startseite über ein festes und mobiles Datennetz

Bedingungen Visually Complete Document Complete SpeedIndex
Cable – ohne CDN 1,0 Sekunden 2,2 Sekunden 453
Cable – mehrere Domains 1,1 Sekunden 2,3 Sekunden 609
Cable – mit CDN (MaxCDN) 1,2 Sekunden 1,5 Sekunden 681
3G – ohne CDN 3,2 Sekunden 4,9 Sekunden 1593
3G – mehrere Domains 2,7 Sekunden 4,5 Sekunden 1567
3G – mit CDN (MaxCDN) 4,3 Sekunden 4,6 Sekunden 2850

Um eine Verbesserung durch mehrere gleichzeitige Verbindungen zu evaluieren, wurde eine Unterseite mit insgesamt sechs Bildern angelegt und erneut ein Test der Ladezeit mittels WebPagetest für die Auslieferung der Ressourcen über ein CDN vorgenommen.

Tabelle 4.6: Abruf einer Unterseite mit 6 Bildern über ein festes und mobiles Datennetz

Bedingungen Visually Complete Document Complete SpeedIndex
Cable – ohne CDN 1,0 Sekunden 0,8 Sekunden 490
Cable – mit CDN (MaxCDN) 1,0 Sekunden 0,9 Sekunden 490
3G – ohne CDN 3,3 Sekunden 4,6 Sekunden 2215
3G – mit CDN (MaxCDN) 3,8 Sekunden 6,0 Sekunden 2472

Anhand der Ergebnisse in den Tabellen 4.5 und 4.6 lässt sich somit festhalten, dass die Auslieferung der Ressourcen bei einer einfachen, statischen Webseite durch ein CDN zu keiner Verbesserung der Gesamtladezeit oder des Renderings im Browser führt. Das Rendering der Above the Fold Inhalte auf mobilen Endgeräten wurde durch das CDN negativ beeinflusst und führte zu einer schlechteren Bewertung durch den Speed Index. Bei den anschließend durchgeführten Bewertungen mittels Google PageSpeed Insights, WebPagetest und YSLOW wurde die Nutzung mehrerer Subdomains, im Gegensatz zu der Verwendung eines CDN, nicht als positives Bewertungskriterium angesehen.

Im weiteren Verlauf des praktischen Teils dieser Arbeit werden in Kapitel 4.4 die Auswirkungen eines CDN in Verbindung mit dem Content-Management-System Contao evaluiert.