Présentation

La mesure des performances est le point de départ pour identifier les opportunités d'amélioration de la vitesse des applications Web. Les performances mesurées sont influencées par la qualité de la livraison du contenu à l'aide d'un CDN et par la manière dont une application Web est conçue. Cet article se concentre sur les meilleures pratiques pour mesurer les performances de livraison de contenu. Cette pratique est importante pour évaluer les CDN (par exemple, déployer un nouveau CDN), pour changer de CDN dans une architecture multi-CDN et simplement pour les modifications continues de la configuration des CDN (par exemple, déploiement d'un nouveau protocole tel que HTTP/3). Pour obtenir les données de performance du CDN les plus pertinentes et les plus précises, les conditions de test doivent être soigneusement sélectionnées : techniques de mesure et conditions de test.

Conférence flash Amazon CloudFront : bonnes pratiques

Techniques de mesure

Tests synthétiques pour la mesure des performances au niveau des applications

Les tests synthétiques sont une technique de mesure dans laquelle les opérateurs simulent le scénario d'un utilisateur chargeant son application Web. Cela peut être effectué simplement à partir de l'ordinateur de l'opérateur à l'aide d'outils tels que Chrome's Lighthouse, ou depuis un centre de données à l'aide d'outils tels que Webpagetest.org, ou à partir d'un réseau sophistiqué de sondes déployées dans les centres de données et les dorsales des ISP du monde entier, à l'aide d'outils tels que Catchpoint ou CloudWatch Synthetics.

Cette approche est utile pour comprendre les performances du code de votre application Web (par exemple, l'impact du javascript sur le chargement des pages). Il s'agit d'une approche recommandée pour suivre l'amélioration ou la régression des performances de votre application après une mise à jour du code, au cours des différentes étapes du processus de publication du code (par exemple, les tests synthétiques dans un environnement de pré-production).

Cependant, les tests synthétiques ne suffisent pas lorsqu'il s'agit de mesurer les performances des CDN. Par exemple, les sondes de test synthétiques sont généralement situées dans des réseaux qui ne transportent pas de trafic utilisateur réel, pour lesquels les systèmes de routage des CDN ne sont pas tous optimisés. En outre, le trafic généré par les tests synthétiques est relativement faible par rapport à la charge de trafic réelle, ce qui ne reflète pas bien la manière dont les CDN réchauffent leur réseau lorsque le trafic augmente. C'est pourquoi il est recommandé d'utiliser les techniques de mesure des utilisateurs réels (Real User Measurement – RUM) pour évaluer les CDN. Lisez

Mesure des utilisateurs réels pour mesurer les performances au niveau du CDN

Si vous souhaitez mesurer les performances de votre CDN tel que CloudFront, pensez à utiliser la technique RUM (Real User Measurement), à l'aide d'outils tels que CloudWatch RUM. La technique RUM vous fournit les données les plus précises sur les performances de votre application Web du point de vue des utilisateurs. CloudWatch RUM vous permet de comprendre l'impact des performances de votre CDN sur les principaux éléments Web de votre application, tels que la métrique Largest Content Paint (LCP). Vous pouvez également utiliser la technique RUM pour corréler les performances du CDN avec les KPI de votre entreprise (par exemple, le nombre de visites des utilisateurs, les ventes, etc.). Pour utiliser CloudWatch RUM, vous devez ajouter une balise javascript à vos pages Web. Le javascript collecte des données à partir des API du navigateur, telles que les temps de chargement des pages avec la ventilation des étapes de connexion (recherche DNS, connexion TCP, etc.) ou Core Web Vitals, puis les envoie à CloudWatch RUM pour le tableau de bord. Vous pouvez analyser les performances de votre CDN en filtrant sur des dimensions spécifiques telles que le type de navigateur, le pays de l'utilisateur ou un identifiant de page spécifique.

Lorsque votre CDN affiche des latences dans l'une de ces dimensions (par exemple, une page ou une région géographique spécifique), analysez les métriques de mise en réseau des demandes au sein de la dimension périphérique. Des temps de connexion TCP lents peuvent indiquer un routage sous-optimal, tandis que le temps écoulé jusqu'au premier octet en cas d'erreur de cache peut indiquer un ralentissement de l'origine. Utilisez le dépannage côté serveur de CloudFront en combinaison avec CloudWatch RUM pour approfondir votre analyse et comprendre les éventuels problèmes de latence.

Surveillance des utilisateurs réels pour Amazon CloudWatch

Bonnes pratiques pour l'analyse comparative des CDN

Prenez en compte les bonnes pratiques suivantes pour configurer des conditions de test non biaisées pour l'analyse comparative des CDN tels que CloudFront :

  • Envoyez une partie importante de votre trafic (20 % au minimum) vers chaque CDN, afin de mesurer les performances réelles du CDN à grande échelle. Les CDN tels que CloudFront affichent de meilleures performances à grande échelle lorsqu'ils sont réchauffés (par exemple, cache rempli, pool de connexions TCP réchauffé et entrées DNS mises en cache par les ISP)
  • Effectuez les tests de référence dans les mêmes conditions pour tous les CDN. Envoyez le même volume de trafic à chacun de vos CDN, en même temps et à la même base d'utilisateurs.
  • Effectuez les tests pendant une durée appropriée. Par exemple, si vous diffusez du contenu à longue durée, les CDN peuvent avoir besoin de plusieurs jours pour remplir leur cache et ramener leur taux d'accès au cache à un état stable.
  • Configurez les CDN avec les mêmes fonctionnalités, telles que la compression, l'optimisation des images, les protocoles (HTTP/3 contre H2, TLS1.3 contre TLS1.2, IPv6 contre IPv4), l'accélération d'origine (Origin Shield), etc.

Certaines solutions tierces pour la gestion du trafic, telles que Pulsar de NS1 ou Citrix Intelligent Traffic Management, incluent leurs propres données RUM collectées auprès de sources extérieures à votre application. Si vous utilisez de tels outils, tenez compte des problèmes suivants lorsque vous réfléchissez à l'analyse comparative des performances des CDN :

  • Les CDN sont-ils testés dans les mêmes conditions ? (configurations et optimisations similaires).
  • Combien de points de données sont collectés pour chaque dimension ? Un plus grand nombre de points de données permet une analyse comparative plus précise (réchauffement des CDN, erreurs statistiques, etc.)
  • Les objets testés ont-ils les mêmes caractéristiques que votre application (par exemple, statique ou dynamique, petit objet contre grand objet, objets populaires contre objets non populaires, etc.)
  • Certains de ces outils offrent la possibilité d'effectuer des tests RUM sur vos propres CDN. Envisagez cette option, car elle reflétera mieux les performances que vos utilisateurs obtiendront avec vos CDN.
  • Utilisez la combinaison la plus appropriée de mesures de performance (latence, débit, P50 contre P90) et de disponibilité adaptée à votre application. Par exemple, les téléchargements d'objets volumineux sont plus sensibles au débit qu'à la latence.

Ressources

Cette page vous a-t-elle été utile ?