Beschleunigung dynamischer Websites durch das Azure CDNDynamic site acceleration via 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.With the explosion of social media, electronic commerce, and the hyper-personalized web, a rapidly increasing percentage of the content served to end users is generated in real time. Benutzer erwarten ein schnelles, zuverlässiges und personalisiertes Weberlebnis – unabhängig von ihrem Browser, Standort, Gerät oder Netzwerk.Users expect a fast, reliable, and personalized web experience, independent of their browser, location, device, or network. 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.However, the very innovations that make these experiences so engaging also slow page downloads and put the quality of the consumer experience at risk.

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.Standard content delivery network (CDN) capability includes the ability to cache files closer to end users to speed up delivery of static files. 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.However, with dynamic web applications, caching that content in edge locations isn't possible because the server generates the content in response to user behavior. 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.Speeding up the delivery of such content is more complex than traditional edge caching and requires an end-to-end solution that finely tunes each element along the entire data path from inception to delivery. Durch die Optimierung der Beschleunigung dynamischer Websites (Dynamic Site Acceleration, DSA) des Azure CDN wird die Leistung von Webseiten mit dynamischen Inhalten merklich verbessert.With Azure CDN dynamic site acceleration (DSA) optimization, the performance of web pages with dynamic content is measurably improved.

Das Azure CDN von Akamai und das Azure CDN von Verizon ermöglichen beide während der Erstellung des Endpunkts über das Menü Optimiert für eine DSA-Optimierung.Azure CDN from Akamai and Azure CDN from Verizon both offer DSA optimization through the Optimized for menu during endpoint creation. Beschleunigung dynamischer Websites von Microsoft wird über Azure Front Door Service angeboten.Dynamic site acceleration from Microsoft is offered via Azure Front Door Service.

Wichtig

Bei Azure CDN von Akamai-Profilen dürfen Sie nach deren Erstellung die Optimierung eines CDN-Endpunkts ändern.For Azure CDN from Akamai profiles, you are allowed to change the optimization of a CDN endpoint after it has been created.

Bei Azure CDN von Verizon-Profilen können Sie nach deren Erstellung die Optimierung eines CDN-Endpunkts nicht ändern.For Azure CDN from Verizon profiles, you cannot change the optimization of a CDN endpoint after it has been created.

CDN-Endpunktkonfiguration zur Beschleunigung der Übermittlung dynamischer DateienCDN endpoint configuration to accelerate delivery of dynamic files

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.To configure a CDN endpoint to optimize delivery of dynamic files, you can either use the Azure portal, the REST APIs, or any of the client SDKs to do the same thing programmatically.

So konfigurieren Sie einen CDN-Endpunkt für die DSA-Optimierung mithilfe des Azure-PortalsTo configure a CDN endpoint for DSA optimization by using the Azure portal:

  1. Klicken Sie auf der Seite CDN-Profil auf Endpunkt.In the CDN profile page, select Endpoint.

    Hinzufügen eines neuen CDN-Endpunkts

    Der Bereich Endpunkt hinzufügen wird angezeigt.The Add an endpoint pane appears.

  2. Wählen Sie unter Optimiert für die Option Beschleunigung dynamischer Websites aus.Under Optimized for, select Dynamic site acceleration.

    Erstellen eines neuen CDN-Endpunkts durch die DSA

  3. Geben Sie für Testpfad einen gültigen Pfad zu einer Datei ein.For Probe path, enter a valid path to a file.

    Der Testpfad ist ein spezielles Feature für die DSA. Für die Erstellung ist ein gültiger Testpfad erforderlich.Probe path is a feature specific to DSA, and a valid path is required for creation. Bei der DSA wird eine kleine Testpfad-Datei verwendet, die zum Ursprungsserver hinzugefügt wird, um die Netzwerkroutingkonfiguration für das CDN zu optimieren.DSA uses a small probe path file placed on the origin server to optimize network routing configurations for the CDN. 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.For the probe path file, you can download and upload the sample file to your site, or use an existing asset on your origin that is about 10 KB in size.

  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.Enter the other required endpoint options (for more information, see Create a new CDN endpoint), then select Add.

    Nachdem der CDN-Endpunkt erstellt wurde, werden die DSA-Optimierungen auf alle Dateien angewendet, die bestimmte Kriterien erfüllen.After the CDN endpoint is created, it applies the DSA optimizations for all files that match certain criteria.

So konfigurieren Sie einen vorhandenen Endpunkt für die DSA (nur für das Azure CDN von Akamai-Profile)To configure an existing endpoint for DSA (Azure CDN from Akamai profiles only):

  1. Wählen Sie auf der Seite CDN-Profil den Endpunkt aus, den Sie ändern möchten.In the CDN profile page, select the endpoint you want to modify.

  2. Wählen Sie im linken Bereich Optimierung aus.From the left pane, select Optimization.

    Die Seite Optimierung wird angezeigt.The Optimization page appears.

  3. Wählen Sie unter Optimiert für die Option Beschleunigung dynamischer Websites und dann Speichern aus.Under Optimized for, select Dynamic site acceleration, then select Save.

Hinweis

Für die Beschleunigung dynamischer Websites fallen zusätzliche Gebühren an.DSA incurs extra charges. Weitere Informationen finden Sie unter Azure Content Delivery Network – Preise.For more information, see Content Delivery Network pricing.

Optimierung für die Beschleunigung dynamischer Websites mit Azure CDNDSA Optimization using Azure CDN

Bei der Beschleunigung dynamischer Websites mit dem Azure CDN wird die Übermittlung dynamischer Ressourcen durch folgende Methoden beschleunigt:Dynamic Site Acceleration on Azure CDN speeds up delivery of dynamic assets by using the following techniques:

RoutenoptimierungRoute Optimization

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.Route optimization is important because the Internet is a dynamic place, where traffic and temporarily outages are constantly changing the network topology. Das Border Gateway Protocol (BGP) ist das Internet-Standardroutingprotokoll, aber es gibt unter Umständen schnellere Routen über zwischengeschaltete PoP-Server (Point of Presence).The Border Gateway Protocol (BGP) is the routing protocol of the Internet, but there may be faster routes via intermediary Point of Presence (PoP) servers.

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.Route optimization chooses the most optimal path to the origin so that a site is continuously accessible and dynamic content is delivered to end users via the fastest and most reliable route possible.

Das Akamai-Netzwerk nutzt Techniken zum Sammeln von Echtzeitdaten und Vergleichen verschiedener Pfade über unterschiedliche Knoten auf dem Akamai-Server. Darüber hinaus kommt auch die BGP-Standardroute innerhalb des öffentlichen Internets zum Einsatz, um die schnellste Route zwischen dem Ursprung und dem CDN-Edge zu bestimmen.The Akamai network uses techniques to collect real-time data and compare various paths through different nodes in the Akamai server, as well as the default BGP route across the open Internet to determine the fastest route between the origin and the CDN edge. Mit diesen Verfahren werden Internet-Staufallen und lange Routen vermieden.These techniques avoid Internet congestion points and long routes.

Auf ähnliche Weise wird im Verizon-Netzwerk eine Kombination aus Anycast DNS, Unterstützungs-PoPs mit hoher Kapazität und Integritätsprüfungen verwendet, um die besten Gateways zu ermitteln, die für die Weiterleitung von Daten vom Client zum Ursprung am ehesten geeignet sind.Similarly, the Verizon network uses a combination of Anycast DNS, high capacity support PoPs, and health checks, to determine the best gateways to best route data from the client to the origin.

Das Ergebnis: Vollständig dynamische und transaktionale Inhalt werden schneller und zuverlässiger an Endbenutzer übermittelt – selbst dann, wenn sie nicht zwischengespeichert werden können.As a result, fully dynamic and transactional content is delivered more quickly and more reliably to end users, even when it is uncacheable.

TCP-OptimierungenTCP Optimizations

Das Transmission Control-Protokoll (TCP) ist das Standardprotokoll der Internetprotokollfamilie, um Informationen zwischen Anwendungen in einem IP-Netzwerk zu übermitteln.Transmission Control Protocol (TCP) is the standard of the Internet protocol suite used to deliver information between applications on an IP network. Für die Einrichtung einer TCP-Verbindung müssen standardmäßig mehrere Anforderungen hin- und hergeleitet werden. Zudem sind auch Grenzwerte erforderlich, um Überlastungspunkte im Netzwerk zu vermeiden, die zu Ineffizienzen bei der Skalierung führen.By default, several back-and-forth requests are required to set up a TCP connection, as well as limits to avoid network congestions, which result in inefficiencies at scale. Beim Azure CDN von Akamai wird dieses Problem bewältigt, indem Optimierungen in drei Bereichen vorgenommen werden:Azure CDN from Akamai handles this problem by optimizing in three areas:

Beseitigen von langsamen TCP-StartsEliminating TCP slow start

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.TCP slow start is an algorithm of the TCP protocol that prevents network congestion by limiting the amount of data sent over the network. Er beginnt mit kleinen Überlastungsfenstergrößen zwischen Absender und Empfänger, bis der Höchstwert erreicht oder ein Paketverlust erkannt wird.It starts off with small congestion window sizes between sender and receiver until the maximum is reached or packet loss is detected.

Sowohl das Azure CDN von Akamai-Profil als auch das Azure CDN von Verizon-Profil beseitigen langsame TCP-Starts durch die folgenden drei Schritte:Both Azure CDN from Akamai and Azure CDN from Verizon profiles eliminate 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.Health and bandwidth monitoring is used to measure the bandwidth of connections between edge PoP servers.

  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.Metrics are shared between edge PoP servers so that each server is aware of the network conditions and server health of the other PoPs around them. 

  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.The CDN edge servers make assumptions about some transmission parameters, such as what the optimal window size should be when communicating with other CDN edge servers in its proximity. 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.This step means that the initial congestion window size can be increased if the health of the connection between the CDN edge servers is capable of higher packet data transfers. 

Nutzen von permanenten VerbindungenLeveraging persistent connections

Mit einer CDN-Instanz stellen vergleichsweise weniger eindeutige Computergruppen eine direkte Verbindung mit Ihrem Ursprungsserver her als Benutzer.Using a CDN, fewer unique machines connect to your origin server directly compared with users connecting directly to your origin. Das Azure CDN fasst Benutzeranforderungen zudem in Pools zusammen, um weniger Verbindungen mit dem Ursprungsserver herzustellen.Azure CDN also pools user requests together to establish fewer connections with the origin.

Wie bereits erwähnt sind mehrere Handshakeanforderungen erforderlich, um eine TCP-Verbindung herzustellen.As previously mentioned, several handshake requests are required to establish a TCP connection. Permanente Verbindungen, die vom HTTP-Header Keep-Alive implementiert werden, nutzen die Wiederverwendung von vorhandenen TCP-Verbindungen für mehrere HTTP-Anforderungen, um Roundtripzeiten zu sparen und die Übermittlung zu beschleunigen.Persistent connections, which are implemented by the Keep-Alive HTTP header, reuse existing TCP connections for multiple HTTP requests to save round-trip times and speed up delivery.

Beim Azure CDN von Verizon werden außerdem regelmäßige Keep-Alive-Pakete über die TCP-Verbindung gesendet, um zu verhindern, dass eine offene Verbindung geschlossen wird.Azure CDN from Verizon also sends periodic keep-alive packets over the TCP connection to prevent an open connection from being closed.

Anpassen von TCP-PaketparameternTuning TCP packet parameters

Das Azure CDN von Akamai passt Parameter an, die Verbindungen zwischen Servern regeln, und verringert die Menge langer Roundtrips, die erforderlich sind, um die auf der Website eingebetteten Inhalte abzurufen. Dies geschieht mit den folgenden Verfahren:Azure CDN from Akamai tunes the parameters that govern server-to-server connections and reduces the amount of long-haul round trips required to retrieve content embedded in the site by using the following techniques:

  • Durch Vergrößern des anfänglichen Überlastungsfensters, damit eine größere Anzahl von Paketen gesendet werden kann, ohne auf eine Bestätigung zu warten.Increasing the initial congestion window so that more packets can be sent without waiting for an acknowledgement.
  • Durch Verringern des anfänglichen Neuübertragungstimeouts, damit ein Verlust schneller erkannt und die Übertragung beschleunigt wird.Decreasing the initial retransmit timeout so that a loss is detected, and retransmission occurs more quickly.
  • Durch Verringern des minimalen und maximalen Neuübertragungstimeouts, um die Wartezeit zu verkürzen, bevor die Annahme getroffen werden muss, dass bei der Übertragung Pakete verloren gegangen sind.Decreasing the minimum and maximum retransmit timeout to reduce the wait time before assuming packets were lost in transmission.

Objektvorabruf (nur das Azure CDN von Akamai)Object prefetch (Azure CDN from Akamai only)

Die meisten Websites bestehen aus einer HTML-Seite, die auf verschiedene andere Ressourcen wie Bilder und Skripts verweist.Most websites consist of an HTML page, which references various other resources such as images and scripts. Wenn ein Client eine Webseite anfordert, lädt der Browser in der Regel zunächst das HTML-Objekt herunter und analysiert es. Anschließend werden zusätzliche Anforderungen an verknüpfte Ressourcen gesendet, die zum vollständigen Laden der Seite erforderlich sind.Typically, when a client requests a webpage, the browser first downloads and parses the HTML object, and then makes additional requests to linked assets that are required to fully load the page.

Der Vorabruf ist eine Methode zum Abrufen von Bildern und Skripts, die auf der HTML-Seite eingebettet sind, während die HTML-Seite im Browser verarbeitet wird und sogar bevor der Browser diese Objektanforderungen stellt.Prefetch is a technique to retrieve images and scripts embedded in the HTML page while the HTML is served to the browser, and before the browser even makes these object requests.

Sofern die Option „Vorabrufen“ aktiviert ist, wenn das CDN die HTML-Basisseite im Browser des Clients verarbeitet, analysiert das CDN die HTML-Datei, sendet zusätzliche Anforderungen für verknüpfte Ressourcen und speichert diese im jeweiligen Cache.With the prefetch option turned on at the time when the CDN serves the HTML base page to the client’s browser, the CDN parses the HTML file and make additional requests for any linked resources and store it in its cache. Wenn der Client die Anforderungen für die verknüpften Ressourcen sendet, verfügt der CDN-Edgeserver bereits über die angeforderten Objekte und kann sie sofort ohne Roundtrip zum Ursprung verarbeiten.When the client makes the requests for the linked assets, the CDN edge server already has the requested objects and can serve them immediately without a round trip to the origin. Diese Optimierung ist sowohl für zwischenspeicherbare als auch nicht zwischenspeicherbare Inhalte von Vorteil.This optimization benefits both cacheable and non-cacheable content.

Adaptive Bildkomprimierung (nur das Azure CDN von Akamai)Adaptive image compression (Azure CDN from Akamai only)

Bei einigen Geräten, insbesondere mobilen Geräten, kommt es bisweilen zu langsameren Netzwerkgeschwindigkeiten.Some devices, especially mobile ones, experience slower network speeds from time to time. In diesen Szenarien ist es für den Benutzer besser, schneller kleinere Bilder auf der Webseite zu sehen, als lange auf die Anzeige von Bildern mit voller Auflösung zu warten.In these scenarios, it is more beneficial for the user to receive smaller images in their webpage more quickly rather than waiting a long time for full resolution images.

Diese Funktion überwacht automatisch die Netzwerkqualität und wendet bei langsamen Netzwerkgeschwindigkeiten standardmäßige JPEG-Komprimierungsmethoden an, um die Übermittlungszeit zu verkürzen.This feature automatically monitors network quality, and employs standard JPEG compression methods when network speeds are slower to improve delivery time.

Adaptive BildkomprimierungAdaptive Image Compression DateierweiterungenFile Extensions
JPEG-KomprimierungJPEG compression .jpg, .jpeg, .jpe, .jig, .jgig, .jgi.jpg, .jpeg, .jpe, .jig, .jgig, .jgi

CachingCaching

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.With DSA, caching is turned off by default on the CDN, even when the origin includes Cache-Control or Expires headers in the response. Die DSA wird in der Regel bei dynamischen Objekten eingesetzt, die nicht zwischengespeichert werden sollten, da sie für jeden Client eindeutig sind.DSA is typically used for dynamic assets that should not be cached because they are unique to each client. Das Zwischenspeichern kann dieses Verhalten hinfällig machen.Caching can break this behavior.

Wenn Sie über eine Website mit einer Mischung aus statischen und dynamischen Ressourcen verfügen, erzielen Sie die beste Leistung, indem Sie sich für einen Hybridansatz entscheiden.If you have a website with a mix of static and dynamic assets, it is best to take a hybrid approach to get the best performance.

Sie können das Zwischenspeichern für das Profil Azure CDN Standard von Verizon und das Profil Azure CDN Standard von Akamai für bestimmte DSA-Endpunkte aktivieren, indem Sie Cacheregeln verwenden.For Azure CDN Standard from Verizon and Azure CDN Standard from Akamai profiles, you can turn on caching for specific DSA endpoints by using caching rules.

So greifen Sie auf Cacheregeln zuTo access caching rules:

  1. Wählen Sie auf der Seite CDN-Profil unter „Einstellungen“ die Option Cacheregeln.From the CDN profile page, under settings, select Caching rules. 

    Schaltfläche für CDN-Cacheregeln

    Die Seite Cacheregeln wird geöffnet.The Caching rules page opens.

  2. Erstellen Sie eine globale oder benutzerdefinierte Cacheregel, um das Zwischenspeichern für den DSA-Endpunkt zu aktivieren.Create a global or custom caching rule to turn on caching for your DSA endpoint.

Bei Profilen vom Typ Azure CDN Premium von Verizon können Sie das Zwischenspeichern für bestimmte DSA-Endpunkte mithilfe der Regel-Engine aktivieren.For Azure CDN Premium from Verizon profiles only, you turn on caching for specific DSA endpoints by using the rules engine. Alle Regeln, die erstellt werden, betreffen nur die für die DSA optimierten Endpunkte Ihres Profils.Any rules that are created affect only those endpoints of your profile that are optimized for DSA.

So greifen Sie auf die Regel-Engine zuTo access the rules engine:

  1. Klicken Sie auf der Seite CDN-Profil auf Verwalten.From the CDN profile page, select Manage. 

    Verwaltungsschaltfläche für CDN-Profile

    Das CDN-Verwaltungsportal wird geöffnet.The CDN management portal opens.

  2. Wählen Sie im CDN-Verwaltungsportal ADN und dann Regel-Engine aus.From the CDN management portal, select ADN, then select Rules Engine.

    Regel-Engine für die 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.Alternatively, you can use two CDN endpoints: one endpoint optimized with DSA to deliver dynamic assets and another endpoint optimized with a static optimization type, such as general web delivery, to delivery cacheable assets. Ä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.Modify your webpage URLs to link directly to the asset on the CDN endpoint you plan to use.

Beispiel: mydynamic.azureedge.net/index.html ist eine dynamische Seite, die vom Endpunkt mit Beschleunigung dynamischer Websites geladen wird.For example: mydynamic.azureedge.net/index.html is a dynamic page and is loaded from the DSA endpoint.  Die HTML-Seite verweist auf mehrere statische Ressourcen, 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.  The html page references multiple static assets such as JavaScript libraries or images that are loaded from the static CDN endpoint, such as mystatic.azureedge.net/banner.jpg and mystatic.azureedge.net/scripts.js.