Passer au contenu

Comment résoudre les problèmes liés à CloudFront et réduire la latence accrue ?

Lecture de 5 minute(s)
0

Je constate une latence accrue dans les réponses d'Amazon CloudFront. Je souhaite en identifier la cause et réduire la latence.

Brève description

Pour résoudre les problèmes de latence liés à CloudFront, identifiez les événements à l'origine de cette latence. Puis, suivez ces étapes de résolution de problèmes pour réduire la latence.

Résolution

Identifier les événements à l'origine de la latence

Procédez comme suit :

  1. Exécutez la commande curl suivante :
    curl -w "DNS_resolution: %{time_namelookup}| TCP_negotiation_time: %{time_connect}| SSL_negotiation_time: %{time_appconnect}| TTFB: %{time_starttransfer}| Total time: %{time_total} \n" -o /dev/null -vsL https://www.example.com
    
    Remarque : Remplacez example.com par votre nom de domaine CloudFront ou un autre nom de domaine (CNAME) et un chemin URL.
  2. Vérifiez la durée de chaque étape d'une requête réseau dans les outils de développement de votre navigateur Web. Par exemple, si vous utilisez Mozilla Firefox, consultez l'onglet Horaires. Pour plus d'informations, consultez l'onglet Horaires sur le site Web de Firefox. Si vous avez observé une latence par le passé, vérifiez les champs temps nécessaire et temps écoulé jusqu'au premier octet dans les journaux d’accès CloudFront. Les journaux d'accès CloudFront n'enregistrent pas le temps nécessaire au client pour le processus de recherche DNS et les négociations TCP et SSL/TLS.

Réduire la latence dans la résolution DNS

Procédez comme suit :

  • Augmentez le temps de mise en cache du DNS côté client.
  • Augmentez la durée de vie (TTL) du cache sur le serveur DNS local.
  • Augmentez la TTL de l'enregistrement DNS de votre bureau d’enregistrement DNS.
  • Si le serveur DNS du résolveur de votre fournisseur d'accès Internet entraîne une latence, utilisez des serveurs DNS publics.

Réduire la latence dans le temps de négociation TCP et SSL/TLS

Procédez comme suit :

  • Vérifiez la bande passante de votre réseau local et la bande passante Internet.
  • Vérifiez l’existence d’interruptions du réseau auprès de votre fournisseur de serveur Internet ou sur votre routeur.
  • Optimisez les performances de votre réseau local via votre fournisseur de services Internet ou des routes du réseau.
  • Assurez-vous que le résolveur DNS permet à votre navigateur Web de trouver l'emplacement POP le plus proche et le plus correct.
  • Pour améliorer les performances de votre site HTTPS, réduisez votre chaîne de certification.
  • Un pare-feu, un proxy ou un routeur local peut provoquer une latence. Pour diagnostiquer la latence du réseau, exécutez la commande MTR suivante :
    mtr -rw example.com --no-dns
    

Remarque : Remplacez example.com par votre nom de domaine.

Réduire la latence en TTFB, TTL et RTT

Effectuez ces étapes pour réduire la latence du temps nécessaire au premier octet (TTFB), du temps total nécessaire (TTL) et du temps de propagation aller et retour (RTT).

CloudFront renvoie une valeur de réponse « X-Cache: Hit from cloudfront »

CloudFront renvoie « X-Cache:Hit from cloudfront » lorsque les requêtes proviennent de l'emplacement périphérique le plus proche. Pour réduire la latence, procédez comme suit :

CloudFront renvoie une valeur de réponse « X-Cache: Miss from cloudfront »

Si CloudFront renvoie « X-Cache:Miss from cloudfront » lorsque la requête est envoyée à l'origine. Pour réduire la latence, procédez comme suit :

  • Réduisez le RTT entre l’emplacement périphérique de CloudFront et votre position d'origine. Si une requête provenant d'un emplacement périphérique CloudFront est dirigée vers l'emplacement d'origine le plus proche, le RTT est inférieur. Cependant, le TTFB est affecté si la requête provient d'un emplacement périphérique géographiquement éloigné de l'origine. Pour optimiser le RTT, répliquez le serveur d'origine dans plusieurs régions AWS géographiquement plus proches de vos utilisateurs. Puis, configurez le DNS de votre nom de domaine d'origine afin qu'il achemine la requête vers les serveurs d'origine en fonction de la latence ou de la géolocalisation. Si vous utilisez Amazon Route 53 comme fournisseur DNS, consultez la section Choix d’une stratégie de routage pour plus d'informations.
  • Activez la compression automatique CloudFront pour compresser les fichiers et réduire la vitesse de téléchargement. Si votre format de fichier n'est pas pris en charge par la compression automatique CloudFront, pré-compressez ce fichier dans votre fichier d'origine et ajoutez un en-tête Content-Encoding.
  • Pour vérifier la latence entre l'origine et CloudFront, activez la métrique de latence d’origine. Remarque : Les tarifs CloudWatch standard s'appliquent.
  • Activez le bouclier de protection de l'origine CloudFront.
  • Ajoutez des stratégies d'en-têtes de réponse avec la fonctionnalité En-tête Server-Timing activée. Cette fonctionnalité peut vous aider à comprendre les événements qui contribuent à la latence entre CloudFront et l'origine.

Informations connexes

Comment puis-je réduire la latence des réponses lentes de CloudFront ?

Quelles informations dois-je communiquer à AWS Support pour diagnostiquer les problèmes de latence liés à la distribution Web de CloudFront ?

AWS OFFICIELA mis à jour il y a un an