Share via


Optimisation du téléchargement des grands fichiers avec Azure Content Delivery Network

Les tailles des fichiers distribués sur Internet ne cessent de croître en raison du perfectionnement des fonctionnalités, de l’amélioration des graphismes et de l’enrichissement des contenus multimédias. Cette croissance résulte de divers facteurs : pénétration du haut débit, appareils de stockage bon marché plus grands, prolifération des vidéos haute définition et appareils connectés à Internet (IoT). Un mécanisme de distribution rapide et efficace des fichiers volumineux est essentiel pour garantir au consommateur une expérience fluide et agréable.

La distribution de fichiers volumineux présente plusieurs difficultés. Premièrement, le temps moyen de téléchargement d’un fichier volumineux peut être important parce que certaines applications peuvent ne pas télécharger pas toutes les données de manière séquentielle. Certaines applications peuvent télécharger la dernière partie d’un fichier avant la première. Lorsque la demande ne porte que sur une petite partie d’un fichier ou quand un utilisateur suspend un téléchargement, le téléchargement peut échouer. Le téléchargement peut également être retardé jusqu’à ce que le réseau de distribution de contenu ait récupéré la totalité du fichier à partir du serveur d’origine.

Deuxièmement, la latence entre l’ordinateur d’un utilisateur et le fichier détermine la vitesse à laquelle le contenu peut s’afficher. Par ailleurs, des problèmes de surcharge et de capacité du réseau affectent également le débit. Les distances plus grandes entre les serveurs et les utilisateurs créent des possibilités supplémentaires de perte de paquets, ce qui affecte la qualité. La réduction de la qualité due à débit limité et à une perte accrue de paquets peut augmenter le temps d’attente pour que le téléchargement d’un fichier s’achève.

Troisièmement, une grande partie des gros fichiers ne sont pas distribués dans leur intégralité. Les utilisateurs peuvent annuler un téléchargement en plein milieu ou ne regarder que les premières minutes d’une longue vidéo MP4. Par conséquent, les sociétés de distribution de logiciels et de contenus multimédias souhaitent distribuer uniquement la portion demandée d’un fichier. Une distribution efficace des portions demandées réduit le trafic sortant du serveur d’origine. Une distribution efficace réduit également la mémoire et la pression d’E/S sur le serveur d’origine.

Optimiser la distribution des grands fichiers avec Azure Content Delivery Network de Microsoft

Les points de terminaison Azure CDN Standard de Microsoft permettent de distribuer des fichiers volumineux sans limite de taille de fichier. Des fonctionnalités supplémentaires sont activées par défaut pour accélérer la distribution des gros fichiers.

Segmentation d’objet

Azure CDN Standard de Microsoft utilise une technique appelée segmentation d’objet. Quand un grand fichier est demandé, le réseau de distribution de contenu récupère des petites parties du fichier à partir de l’origine. Dès que le serveur POP du réseau de distribution de contenu reçoit une demande de fichier complet ou de plage d’octets, le serveur de périphérie du réseau de distribution de contenu demande le fichier à l’origine par blocs de 8 Mo.

Quand le bloc arrive à la périphérie du réseau de distribution de contenu, il est mis en cache et immédiatement servi à l’utilisateur. Le réseau de distribution de contenu prérécupère ensuite le bloc suivant en parallèle. Cette prérécupération garantit que le contenu a un bloc d’avance sur l’utilisateur, ce qui a réduit la latence. Ce processus se poursuit jusqu’à ce que le fichier entier soit téléchargé (si nécessaire), que toutes les plages d’octets soient disponibles (si nécessaire), ou que le client mette fin à la connexion.

Pour plus d’informations sur la demande de plage d’octets, voir RFC 7233.

Le réseau de distribution de contenu met en cache tous les blocs dès qu’ils sont reçus. Le fichier entier n’a pas besoin d’être mis en cache dans le cache du réseau de distribution de contenu. Les demandes suivantes pour le fichier ou des plages d’octets sont servies à partir du cache du réseau de distribution de contenu. Si les blocs ne sont pas tous mis en cache dans le réseau de distribution de contenu, une prérécupération est utilisée pour demander des blocs à l’origine. Cette optimisation s’appuie sur la capacité du serveur d’origine à prendre en charge des demandes de plages d’octets. Si le serveur d’origine ne prend pas en charge les demandes de plage d’octets, les demandes de téléchargement de données supérieure à 8 Mo échouent.

Conditions d’optimisation des fichiers volumineux

Il n’existe aucune limite à la taille de fichier maximale.

Prise en charge de l’encodage de transfert en bloc

Le réseau de distribution de contenu Microsoft prend en charge les réponses d’encodage de transfert, mais uniquement jusqu’à une taille de contenu maximale de 8 Mo. Si les réponses encodées de transfert en bloc dépassent 8 Mo, le réseau de distribution de contenu Microsoft met en cache et sert uniquement les 8 Mo de contenu initiaux.

Optimiser la distribution des grands fichiers avec Azure Content Delivery Network d’Edgio

Les points de terminaison Azure CDN standard d’Edgio et Azure CDN Premium d’Edgio distribuent les grands fichiers sans limite de taille. Des fonctionnalités supplémentaires sont activées par défaut pour accélérer la distribution des gros fichiers.

Remplissage du cache complet

La fonctionnalité de remplissage du cache complet par défaut permet au réseau de distribution de contenu d’extraire un fichier dans le cache quand la demande initiale est perdue ou abandonnée.

Le remplissage du cache complet est très utile pour les ressources volumineuses. En règle générale, les utilisateurs ne téléchargent pas celles-ci du début à la fin. Ils utilisent un téléchargement progressif. Le comportement par défaut consiste à forcer le serveur de périphérie à lancer une récupération en arrière-plan de la ressource à partir du serveur d’origine. Ensuite, la ressource se trouve dans le cache local du serveur de périphérie. Une fois l’objet complet dans le cache, le serveur de périphérie satisfait les demandes de plages d’octets adressées au réseau de distribution de contenu pour l’objet mis en cache.

Le comportement par défaut peut être désactivé avec le moteur de règles dans Azure CDN Premium d’Edgio.

Remplissage à chaud du cache d'homologue

La fonctionnalité de remplissage à chaud du cache de pair par défaut utilise un algorithme propriétaire sophistiqué. Elle utilise des serveurs de mise en cache de périphérie supplémentaires en fonction de la bande passante et des métriques de demandes agrégées pour répondre aux demandes de clients visant de gros objets très populaires. Cette fonctionnalité empêche une situation dans laquelle de grands nombres de demandes supplémentaires seraient envoyées au serveur d’origine d’un client.

Conditions d’optimisation des fichiers volumineux

Les fonctionnalités d’optimisation des grands fichiers pour Azure CDN standard d’Edgio et Azure CDN Premium d’Edgio sont activées par défaut quand vous utilisez le type d’optimisation de distribution web général. Il n’existe aucune limite à la taille de fichier maximale.

Autres éléments à prendre en compte

Prenez en considération les aspects suivants pour ce type d’optimisation :

  • Le processus de segmentation génère des demandes supplémentaires au serveur d’origine. Toutefois, le volume total de données distribuées à partir de l’origine est plus petit. La segmentation entraîne de meilleures caractéristiques de mise en cache au niveau du réseau de distribution de contenu.

  • La pression sur les E/S et la mémoire est réduite au niveau de l’origine, car des éléments plus petits du fichier sont distribués.

  • Pour les blocs mis en cache au niveau du réseau de distribution de contenu, il n’y a pas d’autres demandes adressées à l’origine à moins que le contenu n’expire ou qu’il ne soit supprimé du cache.

  • Les utilisateurs peuvent adresser au réseau de distribution de contenu des demandes de plages, qui sont traitées comme les fichiers normaux. L’optimisation s’applique uniquement si le type de fichier est valide et si la taille de la plage d’octets est comprise entre 10 Mo et 150 Go. Si la taille moyenne des fichiers demandés est inférieure à 10 Mo, utilisez plutôt la livraison web générale.