Optimierung des Downloads großer Dateien mit Azure Content Delivery Network

Dateien mit Inhalten aus dem Internet werden aufgrund von immer umfangreicheren Funktionen, verbesserter Grafik und umfassenden Medieninhalten immer größer. Dieses Wachstum wird durch viele Faktoren gefördert: eine bessere Breitbandversorgung, größere kostengünstige Speichergeräte sowie durch die vermehrte Nutzung von HD-Videos und Geräten mit Internetverbindung (IoT). Für große Dateien bedarf es daher eines schnelleren und effizienteren Übermittlungsverfahrens, um eine reibungslose und angemessene Kundenerfahrung zu gewährleisten.

Für die Bereitstellung von großen Dateien müssen mehrere Anforderungen erfüllt werden. Erstens kann die durchschnittliche Zeit zum Herunterladen einer großen Datei von Bedeutung sein, da Anwendungen ggf. nicht alle Daten sequenziell herunterladen. In einigen Fällen laden Anwendungen den letzten Teil der Datei unter Umständen vor dem ersten Teil herunter. Wenn nur eine kleine Datenmenge einer Datei angefordert wird oder ein Benutzer einen Download anhält, ist der Download ggf. nicht erfolgreich. Der Download kann sich auch verzögern, bis das Content Delivery Network die gesamte Datei vom Ursprungsserver abgerufen hat.

Zweitens bestimmt die Wartezeit zwischen dem Computer eines Benutzers und der Datei die Geschwindigkeit, mit der Inhalte angezeigt werden können. Darüber hinaus können sich auch Netzwerküberlastungen und Kapazitätsprobleme auf den Durchsatz auswirken. Je größer die Entfernungen zwischen Servern und Benutzern sind, desto höher ist die Wahrscheinlichkeit, dass Pakete verloren gehen. Dadurch wird die Qualität verringert. Die reduzierte Qualität aufgrund von begrenztem Durchsatz und vermehrten Paketverlusten kann dazu führen, dass sich die Wartezeit bis zum Abschluss eines Dateidownloads verlängert.

Drittens werden viele große Dateien nicht vollständig übermittelt. Benutzer brechen einen Download ggf. nach der Hälfte ab oder sehen sich nur die ersten Minuten eines langen MP4-Videos an. Aus diesem Grund möchten Unternehmen, die Software und Medien liefern, möglichst nur den Teil einer Datei bereitstellen, der angefordert wurde. Durch die effiziente Verteilung der angeforderten Teile reduziert sich der ausgehende Datenverkehr vom Ursprungsserver. Außerdem führt eine effiziente Verteilung dazu, dass der Arbeitsspeicher- und E/A-Druck auf dem Ursprungsserver hoch ist.

Optimieren Sie die Bereitstellung großer Dateien mit Azure Content Delivery Network von Microsoft

Endpunkte vom Typ Azure CDN Standard von Microsoft übermitteln große Dateien ohne Beschränkung der Dateigröße. Zusätzliche Features werden standardmäßig aktiviert, um die Übermittlung von großen Dateien zu beschleunigen.

Objektblockerstellung

Bei Azure CDN Standard von Microsoft kommt eine Technik namens „Objektblockerstellung“ zum Einsatz. Wenn eine große Datei angefordert wird, ruft das Netzwerk für die Inhaltsübermittlung kleinere Teile der Datei vom Ursprung ab. Nachdem der POP-Server für die Inhaltsübermittlung eine vollständige oder Bytebereich-Dateianforderung empfängt, fordert der Edgeserver für die Inhaltsübermittlung die Datei vom Ursprung in Blöcken von 8 MB an.

Nachdem der Block am Netzwerk-Edge für die Inhaltsübermittlung eingetroffen ist, wird er zwischengespeichert und dem Benutzer sofort bereitgestellt. Das Content Delivery Network holt sich dann parallel den nächsten Block vor. Durch dieses Vorab-Abrufen wird sichergestellt, dass der Inhalt dem Benutzer immer einen Block voraus ist, sodass sich die Wartezeit reduziert. Dieser Prozess wird so lange fortgesetzt, bis die gesamte Datei heruntergeladen wird (falls angefordert), alle Bytebereiche verfügbar sind (falls angefordert) oder der Client die Verbindung beendet.

Weitere Informationen zur Bytebereichsanforderung finden Sie unter RFC 7233.

Das Netzwerk für die Inhaltsübermittlung speichert alle Blöcke zwischen, sobald sie empfangen werden. Die gesamte Datei muss nicht im Netzwerkcache für die Inhaltsübermittlung zwischengespeichert werden. Nachfolgende Anforderungen für die Datei- oder Bytebereiche werden aus dem Netzwerkcache für die Inhaltsübermittlung bereitgestellt. Wenn nicht alle Blöcke im Content Delivery Network zwischengespeichert sind, wird „Prefetch“ verwendet, um Blöcke vom Ursprung anzufordern. Diese Optimierung beruht auf der Fähigkeit des Ursprungsservers, Bytebereichsanforderungen zu unterstützen. Wenn der Ursprungsserver keine Bytebereichsanforderungen unterstützt, kommt es bei Anforderungen zum Herunterladen von Daten mit einer Größe von mehr als 8 MB zu einem Fehler.

Bedingungen für die Optimierung großer Dateien

Es gilt keine Beschränkung in Bezug auf die maximale Dateigröße.

Unterstützung für die Codierung zur segmentierten Übertragung

Das Microsoft Content Delivery Network unterstützt Übertragungscodierungs-Antworten, aber nur bis zu einer maximalen Inhaltsgröße von 8 MB. Im Falle von blockierten übertragungscodierten Antworten, die mehr als 8 MB überschreiten, speichert das Microsoft Content Delivery Network nur zwischen und bedient die ersten 8 MB an Inhalten.

Optimieren Sie die Bereitstellung großer Dateien mit dem Azure Content Delivery Network von Edgio

Endpunkte vom Typ Azure CDN Standard von Edgio und Azure CDN Premium von Edgio übermitteln große Dateien ohne Beschränkung der Dateigröße. Weitere Features werden standardmäßig aktiviert, um die Übermittlung von großen Dateien zu beschleunigen.

Complete Cache Fill

Mit der Funktion zum vollständigen Füllen des Caches kann das Content Delivery Network eine Datei in den Cache ziehen, wenn eine erste Anfrage abgebrochen wird oder verloren geht.

Complete Cache Fill ist für große Assets am nützlichsten. Normalerweise werden diese von Benutzern nicht von Anfang bis Ende heruntergeladen. Es wird ein progressiver Download verwendet. Standardmäßig wird der Edgeserver gezwungen, einen Hintergrundabruf des Assets vom Ursprungsserver zu initiieren. Anschließend befindet sich das Asset im lokalen Cache des Edgeservers. Nachdem sich das vollständige Objekt im Cache befindet, erfüllt der Edge-Server Byte-Range-Anfragen an das Content Delivery Network für das gecachte Objekt.

Das Standardverhalten kann über die Regel-Engine in Azure CDN Premium von Edgio deaktiviert werden.

Peercache-Auffüllung bei häufig verwendeten Dateien

Beim Standardfeature „Peercache-Auffüllung bei häufig verwendeten Dateien“ wird ein eigener komplexer Algorithmus verwendet. Es werden zusätzliche Edgeserver zur Zwischenspeicherung verwendet, die auf der Bandbreite und den Metriken von Aggregatanforderungen basieren, um Clientanforderungen für große, beliebte Objekte zu erfüllen. Mit diesem Feature werden Situationen verhindert, in denen eine große Anzahl von zusätzlichen Anforderungen an den Ursprungsserver eines Benutzers gesendet werden.

Bedingungen für die Optimierung großer Dateien

Die Features zur Optimierung großer Dateien für Azure CDN Standard von Edgio und Azure CDN Premium von Edgio werden standardmäßig aktiviert, wenn Sie den Optimierungstyp „Allgemeine Webbereitstellung“ verwenden. Es gilt keine Beschränkung in Bezug auf die maximale Dateigröße.

Weitere Überlegungen

Berücksichtigen Sie für diesen Optimierungstyp die folgenden Aspekte:

  • Beim Prozess der Blockerstellung werden weitere Anforderungen an den Ursprungsserver generiert. Das Gesamtvolumen der vom Ursprung übermittelten Daten ist aber kleiner. Die Blockierung führt zu besseren Zwischenspeicherungsmerkmalen im Inhaltsübermittlungs-Netzwerk.

  • Der Arbeitsspeicher- und E/A-Druck am Ursprung verringert sich, da kleinere Teile der Datei übermittelt werden.

  • Für Blöcke, die im Content Delivery Network zwischengespeichert werden, gibt es keine weiteren Anfragen an den Ursprung, bis der Inhalt abläuft oder aus dem Cache entfernt wird.

  • Benutzer können Bereichsanforderungen an das Netzwerk für die Inhaltsübermittlung senden, die wie jede normale Datei behandelt werden. Die Optimierung gilt nur, wenn es sich um einen gültigen Dateityp handelt und der Bytebereich zwischen 10 MB und 150 GB liegt. Wenn die durchschnittliche Größe der angeforderten Dateien unter 10 MB liegt, verwenden Sie stattdessen die allgemeine Webbereitstellung.