Beschleunigung dynamischer Websites durch das Azure CDN

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 eines CDN (Content Delivery Network) zählt die Möglichkeit, Dateien näher beim Endbenutzer 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) des Azure CDN wird die Leistung von Webseiten mit dynamischen Inhalten merklich verbessert.

Azure CDN von Edgio bietet DSA-Optimierung durch die optimierung für menüs während der Endpunkterstellung optimiert . Beschleunigung dynamischer Websites von Microsoft wird über Azure Front Door Service angeboten.

Wichtig

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

CDN-Endpunktkonfiguration zur Beschleunigung der Übermittlung dynamischer Dateien

Um einen CDN-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 tun.

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.

    Add a new CDN endpoint

    Der Bereich Endpunkt hinzufügen wird angezeigt.

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

    Create a new CDN endpoint with 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 der DSA wird eine kleine Testpfad-Datei verwendet, die zum Ursprungsserver hinzugefügt wird, um die Netzwerkroutingkonfiguration für das CDN 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 CDN-Endpunkts), und wählen Sie dann Hinzufügen aus.

    Nachdem der CDN-Endpunkt erstellt wurde, werden die DSA-Optimierungen auf alle Dateien angewendet, die bestimmte Kriterien erfüllen.

Optimierung für die Beschleunigung dynamischer Websites mit Azure CDN

Bei der Beschleunigung dynamischer Websites mit dem Azure CDN 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-Standardroutingprotokoll, 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.

Das Edgio-Netzwerk verwendet eine Kombination aus Anycast DNS, High Capacity Support PoPs und Integritätsprüfungen, um die besten Gateways zu ermitteln, um Die besten Gateways zu ermitteln, um Daten vom Client zum Ursprung zu leiten.

Daher werden voll dynamische und transaktionsfähige Inhalte schneller und zuverlässiger für Endbenutzer bereitgestellt, auch wenn sie nicht zwischengespeichert werden können.

TCP-Optimierungen

Das Transmission Control-Protokoll (TCP) ist das Standardprotokoll der Internetprotokollfamilie, um Informationen zwischen Anwendungen in einem IP-Netzwerk zu übermitteln. Für die Einrichtung einer TCP-Verbindung müssen standardmäßig mehrere Anforderungen hin- und hergeleitet werden. Außerdem sind Grenzwerte erforderlich, um Netzwerküberlastungen zu vermeiden, die zu Ineffizienzen bei der Skalierung führen. Azure CDN von Edgio behandelt dieses Problem, indem es in drei Bereichen optimiert wird:

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 aus Edgio-Profilen beseitigen tcp slow start with the following three steps:

  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 CDN-Edgeserver treffen Annahmen über einige Übertragungsparameter, z.B. über die optimale Fenstergröße, den Zeitpunkt, an dem die Kommunikation mit anderen CDN-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 CDN-Edgeservern höheren Paketdatenübertragungen standhalten kann. 

Nutzen von permanenten Verbindungen

Wenn Sie eine CDN-Instanz verwenden, stellen vergleichsweise weniger eindeutige Computer eine direkte Verbindung mit Ihrem Ursprungsserver her als Benutzer. Das Azure CDN fasst Benutzeranforderungen zudem in Pools zusammen, um weniger Verbindungen mit dem Ursprungsserver 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 die DSA ist die Zwischenspeicherung im CDN 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 aus 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

    CDN Caching rules button

    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

    CDN profile manage button

    Das CDN-Verwaltungsportal wird geöffnet.

  2. Wählen Sie im CDN-Verwaltungsportal ADN und dann Regel-Engine aus.

    Rules engine for DSA

Alternativ können Sie zwei CDN-Endpunkte verwenden: Ein mit der DSA optimierter Endpunkt zur Bereitstellung von dynamischen Ressourcen und ein anderer mit einem statischen Optimierungstyp, z.B. allgemeine Webbereitstellung, für die Bereitstellung von zwischenspeicherbaren Ressourcen. Ändern Sie Ihre Webseiten-URLs so, dass eine direkte Verknüpfung mit der Ressource für den CDN-Endpunkt hergestellt wird, 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 wie z.B. JavaScript-Bibliotheken oder Images, die vom statischen CDN-Endpunkt geladen werden, z.B. mystatic.azureedge.net/banner.jpg und mystatic.azureedge.net/scripts.js.