Beschleunigung dynamischer Websites durch Azure Content Delivery Network

Die explosionsartige Verbreitung von sozialen Medien, E-Commerce und hyperpersonalisierten Webinhalten führt dazu, dass eine rasant zunehmende Menge von Bereitstellungsinhalten für Endbenutzer in Echtzeit generiert wird. Benutzer erwarten ein schnelles, zuverlässiges und personalisiertes Weberlebnis – unabhängig von ihrem Browser, Standort, Gerät oder Netzwerk. Genau jene Innovationen, die für diese hervorragenden Erfahrungen sorgen sollen, bringen jedoch auch lange Seitendownloadzeiten mit sich und beeinträchtigen die Qualität der Benutzererfahrung für den Kunden.

Zu den Standardfunktionen von Content Delivery Network (CDN) zählt die Möglichkeit, Dateien näher bei den Endbenutzern/-benutzerinnen zwischenzuspeichern, um die Übermittlung statischer Dateien zu beschleunigen. Bei dynamischen Webanwendungen ist die Zwischenspeicherung dieser Inhalte an Edgestandorten jedoch nicht möglich, da der Server die Inhalte als Reaktion auf das Benutzerverhalten generiert. Die Beschleunigung der Übermittlung derartiger Inhalte ist komplexer als konventionelle Edgezwischenspeicherung und erfordert eine Komplettlösung, die jedes Element entlang des gesamten Datenpfads vom Beginn bis zur Übermittlung exakt optimiert. Durch die Optimierung der Beschleunigung dynamischer Websites (Dynamic Site Acceleration, DSA) durch Azure Content Delivery Network wird die Leistung von Webseiten mit dynamischen Inhalten merklich verbessert.

Azure CDN von Edgio bietet während der Erstellung des Endpunkts über das Menü Optimiert für DSA-Optimierung für die Beschleunigung dynamischer Websites. Beschleunigung dynamischer Websites von Microsoft wird über Azure Front Door angeboten.

Wichtig

Bei Azure CDN von Edgio-Profilen können Sie nach deren Erstellung die Optimierung eines Content Delivery Network-Endpunkts nicht ändern.

Konfiguration des Content Delivery Network-Endpunkts zum Beschleunigen der Bereitstellung dynamischer Dateien

Um einen Content Delivery Network-Endpunkt für die Optimierung der Übermittlung von dynamischen Dateien zu konfigurieren, können Sie entweder das Azure-Portal oder die REST-APIs verwenden oder dies programmgesteuert über eines der Client-SDKs erledigen.

So konfigurieren Sie einen CDN-Endpunkt für die DSA-Optimierung mithilfe des Azure-Portals

  1. Klicken Sie auf der Seite CDN-Profil auf Endpunkt.

    Screenshot des Hinzufügens eines neuen Content Delivery Network-Endpunkts

    Der Bereich Endpunkt hinzufügen wird angezeigt.

  2. Wählen Sie unter Optimiert für die Option Beschleunigung dynamischer Websites aus.

    Screenshot des Erstellens eines neuen Content Delivery Network-Endpunkts mit DSA

  3. Geben Sie für Testpfad einen gültigen Pfad zu einer Datei ein.

    Der Testpfad ist ein spezielles Feature für die DSA. Für die Erstellung ist ein gültiger Testpfad erforderlich. Bei DSA wird eine kleine Testpfad-Datei verwendet, die zum Ursprungsserver hinzugefügt wird, um die Netzwerkroutingkonfiguration für Content Delivery Network zu optimieren. Sie können für die Testpfaddatei die Beispieldatei herunterladen und in Ihre Website hochladen, oder stattdessen eine vorhandene Ressource mit einer Größe von ungefähr 10 KB verwenden, sofern eine vorhanden ist.

  4. Geben Sie die Werte für die erforderlichen Endpunktoptionen ein (weitere Informationen finden Sie unter Erstellen eines neuen Content Delivery Network-Endpunkts), und wählen Sie dann Hinzufügen aus.

    Nachdem der Content Delivery Network-Endpunkt erstellt wurde, werden die DSA-Optimierungen auf alle Dateien angewandt, die bestimmte Kriterien erfüllen.

DSA-Optimierung mit Azure Content Delivery Network

Bei der Beschleunigung dynamischer Websites mit Azure Content Delivery Network wird die Übermittlung dynamischer Ressourcen durch folgende Methoden beschleunigt:

Routenoptimierung

Die Routenoptimierung spielt eine entscheidende Rolle, da das Internet von Dynamik geprägt ist und Datenverkehr sowie vorübergehende Ausfälle die Netzwerktopologie stetig verändern. Das Border Gateway Protocol (BGP) ist das Internet-Routingprotokoll, aber es gibt unter Umständen schnellere Routen über zwischengeschaltete POP-Server (Point of Presence).

Die Routenoptimierung wählt den optimalen Pfad zum Ursprung, damit eine Website durchgängig zugänglich ist und dynamische Inhalte Endbenutzern über die schnellstmögliche und zuverlässigste Route übermittelt werden.

Im Edgio-Netzwerk wird eine Kombination aus Anycast DNS, Support-POPs mit hoher Kapazität und Integritätsprüfungen verwendet, um die besten Gateways für die beste Weiterleitung der Daten vom Client zum Ursprung zu bestimmen.

Deshalb werden vollständig dynamische und auf Transaktionen ausgelegte Inhalte schneller und zuverlässiger an Endbenutzer/-benutzerinnen übermittelt – selbst dann, wenn sie nicht zwischengespeichert werden können.

TCP-Optimierungen

TCP (Transmission Control-Protokoll) ist das Standardprotokoll der Internetprotokollfamilie, um Informationen zwischen Anwendungen in einem IP-Netzwerk zu übermitteln. Standardmäßig erfordert die Einrichtung einer TCP-Verbindung mehrere bidirektionale Anforderungen. Darüber hinaus gibt es Grenzwerte, um Netzwerküberlastungen zu verhindern, was zu Ineffizienzen führen kann, wenn sie in großem Umfang ausgeführt werden. Bei Azure CDN von Edgio wird dieses Problem umgangen, indem Optimierungen in drei Bereichen vorgenommen werden:

Beseitigen von langsamen TCP-Starts

Der langsame Start von TCP ist ein Algorithmus des Transmission Control-Protokolls (TCP), der eine Netzwerküberlastung verhindert, indem die Menge der über das Netzwerk gesendeten Daten beschränkt wird. Er beginnt mit kleinen Überlastungsfenstergrößen zwischen Absender und Empfänger, bis der Höchstwert erreicht oder ein Paketverlust erkannt wird.

Azure CDN von Edgio-Profile beheben den langsamen TCP-Start mit den folgenden drei Schritten:

  1. Die Integritäts- und Bandbreitenüberwachung wird eingesetzt, um die Bandbreite von Verbindungen zwischen POP-Edgeservern zu messen.

  2. Metriken werden von POP-Edgeservern gemeinsam genutzt, sodass jeder Server über die Netzwerkbedingungen und die Serverintegrität der anderen POP-Komponenten in der Nähe informiert ist.

  3. Die Content Delivery Network-Edgeserver treffen Annahmen über einige Übertragungsparameter, z. B. über die optimale Fenstergröße und den Zeitpunkt, an dem die Kommunikation mit anderen Content Delivery Network-Edgeservern in dessen Nähe stattfinden soll. Dieser Schritt bedeutet, dass die anfängliche Überlastungsfenstergröße erhöht werden kann, wenn die Integrität der Verbindung zwischen den Content Delivery Network-Edgeservern höheren Paketdatenübertragungen standhalten kann.

Mithilfe permanenter Verbindungen

Wenn Sie eine Content Delivery Network-Instanz verwenden, stellen vergleichsweise weniger eindeutige Computer eine direkte Verbindung mit Ihrem Ursprungsserver her als Benutzer/Benutzerinnen. Azure Content Delivery Network fasst Benutzeranforderungen darüber hinaus zusammen, um weniger Verbindungen mit dem Ursprung herzustellen.

Wie bereits erwähnt sind mehrere Handshakeanforderungen erforderlich, um eine TCP-Verbindung herzustellen. Permanente Verbindungen, die vom HTTP-Header Keep-Alive implementiert wurden, nutzen die Wiederverwendung von vorhandenen TCP-Verbindungen für mehrere HTTP-Anforderungen, um Roundtripzeiten zu sparen und die Übermittlung zu beschleunigen.

Azure CDN von Edgio sendet auch regelmäßige Keep-Alive-Pakete über die TCP-Verbindung, um zu verhindern, dass eine offene Verbindung geschlossen wird.

Caching

Für DSA ist die Zwischenspeicherung in Content Delivery Network standardmäßig deaktiviert. Dies gilt auch, wenn vom Ursprung Cache-Control- oder Expires-Header in die Antwort eingefügt werden. Die DSA wird normalerweise bei dynamischen Ressourcen eingesetzt, die nicht zwischengespeichert werden sollten, weil sie für jeden Client eindeutig sind. Das Zwischenspeichern kann dieses Verhalten hinfällig machen.

Wenn Sie eine Website mit einer Mischung aus statischen und dynamischen Ressourcen haben, erzielen Sie die beste Leistung, indem Sie sich für einen Hybridansatz entscheiden.

Mit Azure CDN Standard von Edgio-Profilen können Sie die Zwischenspeicherung für bestimmte DSA-Endpunkte mithilfe von Zwischenspeicherungsregeln aktivieren.

So greifen Sie auf Cacheregeln zu

  1. Wählen Sie auf der Seite CDN-Profil unter „Einstellungen“ die Option Cacheregeln.

    Screenshot der Schaltfläche für Zwischenspeicherungsregeln von Content Delivery Network

    Die Seite Cacheregeln wird geöffnet.

  2. Erstellen Sie eine globale oder benutzerdefinierte Cacheregel, um das Zwischenspeichern für den DSA-Endpunkt zu aktivieren.

Bei Azure CDN Premium von Edgio-Profilen können Sie das Zwischenspeichern für bestimmte DSA-Endpunkte mithilfe der Regel-Engine aktivieren. Alle Regeln, die erstellt werden, betreffen nur die für die DSA optimierten Endpunkte Ihres Profils.

So greifen Sie auf die Regel-Engine zu

  1. Klicken Sie auf der Seite CDN-Profil auf Verwalten.

    Screenshot der Schaltfläche zum Verwalten von Content Delivery Network

    Das Verwaltungsportal von Content Delivery Network wird geöffnet.

  2. Wählen Sie im Verwaltungsportal von Content Delivery Network ADN und dann Regel-Engine aus.

    Regel-Engine für die DSA

Alternativ können Sie zwei Content Delivery Network-Endpunkte verwenden: einen mit DSA optimierten Endpunkt zur Bereitstellung von dynamischen Ressourcen und einen anderen mit einem statischen Optimierungstyp, z. B. allgemeine Webbereitstellung, für die Bereitstellung von Ressourcen, die zwischengespeichert werden können. Ändern Sie Ihre Webseiten-URLs so, dass sie direkt mit dem Objekt am Content Delivery Network-Endpunkt verknüpft werden, den Sie verwenden möchten.

Beispiel: mydynamic.azureedge.net/index.html ist eine dynamische Seite, die vom DSA-Endpunkt geladen wird. Die HTML-Seite verweist auf mehrere statische Objekte, z. B. JavaScript-Bibliotheken oder Images, die vom statischen Content Delivery Network-Endpunkt geladen werden, z. B. mystatic.azureedge.net/banner.jpg und mystatic.azureedge.net/scripts.js.