Problèmes courants liés au CDN et solutions pour les résoudre

Si votre site web est toujours lent malgré l'utilisation d'un CDN, intéressez-vous à ces problèmes courants liés au CDN.

Objectifs d’apprentissage

Cet article s'articule autour des points suivants :

  • Résoudre les problèmes de lenteur du CDN
  • Remédier à la présence de contenu obsolète dans le cache CDN
  • Identifier d'autres problèmes courants liés à la mise en cache

Copier le lien de l'article

Problèmes courants liés au CDN et solutions pour les résoudre

Un réseau de diffusion de contenu (CDN) est un groupe de serveurs distribués qui mettent en cache, ou enregistrent des copies de contenu web pour permettre une diffusion rapide aux utilisateurs finaux. En plus de la mise en cache, les CDN peuvent accélérer la diffusion de contenu et améliorer l'expérience utilisateur de différentes manières, par exemple avec l'assistance au streaming vidéo, au contenu dynamique, ainsi qu'au chiffrement et à l'authentification SSL.

N'importe quel site web peut bénéficier d'un CDN. Les CDN se situent entre les utilisateurs finaux et les serveurs d'origine. Ils répondent aux requêtes des utilisateurs avec tout le contenu dont ils disposent dans le cache avant de transmettre les requêtes aux serveurs d'origine. Cela permet de rendre le chargement d'un site web plus rapide pour les utilisateurs. C'est un peu comme si vous achetez de la nourriture dans une épicerie au lieu de traverser le pays pour visiter plusieurs fermes et usines afin de faire ses courses hebdomadaires, c'est plus rapide.

Dépannage CDN : comment résoudre les problèmes de CDN

La plupart du temps, s'inscrire à un CDN doit rapidement rendre un site web plus rapide, aider les opérateurs de sites web à réduire les coûts de bande passante, améliorer la fiabilité du site, et augmenter la résistance à certaines cyberattaques (comme les attaques DDoS). Cependant, il arrive que des problèmes de CDN empêchent les propriétés web de profiter de ces avantages. Voici quelques problèmes potentiels liés aux CDN, les facteurs qui peuvent les favoriser et des recommandations pour les résoudre.

Problèmes de lenteur des performances du CDN

Un certain nombre de problèmes peuvent empêcher un site web de bénéficier des améliorations des performances, voire le ralentir lors de l'utilisation d'un CDN.

Manque de portée mondiale : les performances peuvent varier selon le réseau CDN utilisé. Veillez à utiliser un CDN qui met en cache le contenu partout sur son réseau et dispose de sites mondiaux proches des utilisateurs finaux.

Problèmes de serveur d'origine : si le CDN ne peut pas récupérer le contenu du serveur d'origine, il ne peut ni le mettre en cache ni le distribuer. Cela peut se produire lorsque les serveurs d'origine sont à l'arrêt, ou lorsque le trafic entre les serveurs d'origine et le CDN est pris dans des goulots d'étranglement du réseau.

Contenu dynamique ne se chargeant pas depuis le serveur d’origine : le contenu dynamique ne peut pas être mis en cache. Si le serveur d’origine ne répond pas correctement aux requêtes, la page peut se charger lentement, voire ne pas se charger du tout, indépendamment du comportement de mise en cache du CDN. Certains CDN, tels que ceux de Cloudflare, comprennent des services supplémentaires qui peuvent accélérer la distribution de contenu dynamique.

Fichiers non optimisés : des contenus très volumineux ou certains types de fichiers peuvent ne pas être mis en cache, en fonction des limites du CDN. Vérifiez que tout le contenu est optimisé pour une diffusion rapide et une expérience utilisateur de qualité. De nombreux CDN disposent de fonctionnalités pour optimiser, « minifier» (réduire la taille du fichier) ou compresser le contenu.

Ressources bloquant le rendu : il s'agit d'éléments d'une page qui empêchent le reste de la page de se charger. Les fichiers de feuilles de style en cascade (CSS), par exemple, sont des ressources qui bloquent le rendu. Si le reste d'une page est correctement mis en cache, mais que les fichiers CSS ne le sont pas, alors le fichier CSS doit être récupéré depuis le serveur web avant que les autres éléments de la page puissent être servis depuis le cache. Cela peut ralentir le temps de chargement des pages. Vérifiez que les ressources bloquant le rendu sont mises en cache, ou réorganisez l'architecture de la page pour qu'aucunes ressources inutiles ne soient incluses ou pour qu'elles soient chargées en dernier.

Scripts tiers non mis en cache : de nombreux sites web comprennent des scripts provenant d'autres sources ; il est possible que ces sources n'utilisent pas le même CDN. Ces scripts tiers peuvent mettre plus de temps à se charger si leurs serveurs d'origine sont éloignés géographiquement, non optimisés pour la diffusion ou surchargés. Si les scripts sont des ressources bloquant le rendu, cela peut ralentir l'ensemble de la page. Utilisez les outils pour développeurs de Chrome pour évaluer ce qui se charge lentement et déterminer d'où cela provient. Envisagez de remplacer les scripts qui ralentissent constamment une page ou d'utiliser des scripts hébergés via CDNJS, un réseau de diffusion de contenu gratuit qui sert des milliers de bibliothèques JavaScript et CSS.

Le taux d'accès au cache CDN est faible : dans la mise en cache, un « cache miss » (échec de cache) signifie que le contenu demandé n'a pas été trouvé dans le CDN et doit être récupéré depuis le serveur d'origine. Un « cache hit » (accès au cache) signifie que le contenu demandé a été trouvé dans le cache et servi à partir de celui-ci. Le taux d'accès au cache mesure le rapport entre les accès réussis et les échecs pour un site web donné. Un faible taux d'accès au cache signifie que la majorité de la page web n'est pas servie depuis le cache, et que le navigateur de l'utilisateur doit la récupérer depuis le serveur d'origine. Chaque échec de cache peut également entraîner des frais de trafic sortant pour les sites web, en fonction du fournisseur d'hébergement, ce qui se traduit par des coûts opérationnels plus élevés pour ces sites web.

Les faibles taux d'accès au cache peuvent survenir pour plusieurs raisons :

  • Règles de cache : les règles de cache déterminent le contenu mis en cache et la durée pendant laquelle il est mis en cache. Si les règles de cache ne sont pas configurées correctement, le contenu approprié ne sera pas mis en cache. Les fournisseurs de CDN doivent proposer un moyen de diagnostiquer les problèmes de mise en cache sur des URL spécifiques. (Pensez, par exemple, à Cloudflare Trace).
  • Niveaux de mise en cache : les ressources peuvent être mises en cache différemment selon leur type d'URL. Certains CDN peuvent mettre en cache le même contenu par URL de base indépendamment des chaînes de requête ajoutées à l'URL, ou un contenu différent pour chaque chaîne de requête, ou indépendamment des chaînes de requête (une chaîne de requête suit un point d'interrogation dans l'URL, comme dans l'adresse « example.com/image.jpg?with=query »). Les ressources peuvent être livrées différemment en fonction de la chaîne de requête attachée aux URL, et parfois ce n'est pas le comportement souhaité. Pour résoudre ce problème, ajustez les paramètres des niveaux de mise en cache.
  • En-têtes cache-control : les en-têtes cache-control sont ajoutés aux réponses HTTP des serveurs d'origine. Ces en-têtes définissent les règles de mise en cache pour les navigateurs et pour les intermédiaires tels que les CDN. Les en-têtes de contrôle du cache peuvent entrer en conflit avec les règles de mise en cache définies dans le CDN, en fonction du fournisseur. Comparez-les pour vérifier que les deux sont correctement configurés si l'un remplace l'autre.

Gardez à l'esprit que le taux d'accès au cache n'est pas le seul indicateur qui compte en matière de performances d'un site web. Une vision globale des performances web tient compte des signaux web essentiels et d'autres indicateurs qui influencent l'expérience utilisateur, le SEO et l'optimisation par l'IA.

Présence de contenu dans l'affichage du site web

Si le contenu se charge rapidement, mais qu’il s’agit de mauvais contenu, ne tenant pax compte des mises à jour ou des changements récents, la durée de vie (TTL) peut être trop longue pour le contenu mis en cache. La durée de vie est un paramètre qui mesure, en secondes, combien de temps un contenu doit être mis en cache avant que le CDN (ou le navigateur) ne rafraîchisse sa copie enregistrée. Réduisez la durée de vie du contenu qui ne se met pas à jour suffisamment rapidement. Essayez de vider le cache pour que le CDN récupère à nouveau le contenu du serveur d'origine.

Le contenu qui est mis à jour fréquemment peut nécessiter des règles spéciales de mise en cache. Dans certains cas, il ne doit pas être mis en cache du tout. Cloudflare dispose d'une fonction de purge qui permet de purger immédiatement le contenu d'une page web du cache.

Configurations DNS

Si un domaine et tous ses sous-domaines ne pointent pas vers le CDN, le contenu associé à ces domaines ne sera pas mis en cache et le site web ne bénéficiera d'aucun avantage en matière de performances.

Veillez à ce que les sous-domaines soient configurés correctement. Les sous-domaines (configurés via un enregistrement CNAME) doivent être configurés séparément. Si un sous-domaine n'est pas derrière le CDN, quand bien même le domaine principal l'est, son contenu ne sera pas mis en cache.

Erreurs SSL avec le CDN

Les CDN fournissent souvent des certificats SSL pour les sites web. Les certificats SSL permettent d'authentifier la connexion de l'utilisateur au site Web, de chiffrer les données sensibles saisies par l'utilisateur et d'éviter aux utilisateurs les avertissements de sécurité dans le navigateur. Il arrive toutefois qu'un site web serve du contenu « mixte », c'est-à-dire qu'une partie du contenu d'une page web est servi via une connexion SSL et l'autre non. Les utilisateurs peuvent recevoir des avertissements du navigateur concernant la sécurité de la page, la page peut ne pas réussir à se charger ou se charger plus lentement (car le navigateur essaie et ne parvient pas à lancer les négociations TLS).

Ces erreurs peuvent survenir si une page web contient du contenu provenant de sources externes ou de sous-domaines qui ne sont pas répertoriés sur le certificat SSL. La console de développement de Chrome peut aider les développeurs à résoudre les erreurs de contenu mixte : les développeurs peuvent voir d'où provient le contenu et quelles URL sont utilisées.

D'autres erreurs SSL peuvent être liées au certificat du domaine. Découvrez les problèmes SSL courants ici.

Besoin d'aide avec le CDN Cloudflare ? Rejoignez la communauté Cloudflare pour obtenir une assistance gratuite et des informations de la part d'utilisateurs experts de Cloudflare.

 

FAQ

Qu'est-ce qu'un réseau CDN ?

Un CDN (réseau de diffusion de contenu) est un groupe de serveurs distribués qui enregistrent des copies du contenu web afin de le diffuser rapidement aux utilisateurs. Au-delà de la mise en cache, les CDN accélèrent la livraison de contenu et améliorent l'expérience utilisateur grâce à des services qui prennent en charge la diffusion, le contenu dynamique, l'atténuation des attaques DDoS et l'utilisation de TLS.

Comment un CDN peut-il améliorer les performances d'un site web ?

Les CDN accélèrent le chargement des sites web pour les utilisateurs en se plaçant entre les utilisateurs finaux et les serveurs d'origine et en accélérant la diffusion du contenu des sites web. La distance entre les utilisateurs et le contenu qu'ils demandent étant réduite et les fichiers étant optimisés, ils peuvent être livrés plus rapidement.

Quelles sont les raisons qui peuvent ralentir le fonctionnement d'un CDN ?

Plusieurs problèmes peuvent ralentir les performances du CDN, notamment un manque de portée mondiale, des problèmes de serveur d'origine, un contenu dynamique qui ne se charge pas correctement, des fichiers non optimisés, des ressources bloquant le rendu, des scripts tiers non mis en cache ou un faible taux d'accès au cache.

Qu'est-ce qu'un faible taux d'accès au cache et quelle est son incidence ?

Un faible taux d'accès au cache signifie que la majorité du contenu d'une page web n'est pas servi depuis le cache du CDN, ce qui oblige le navigateur de l'utilisateur à le récupérer directement depuis le serveur d'origine. Selon l'architecture de la page web concernée, cela peut entraîner un ralentissement du temps de chargement de la page et potentiellement augmenter les coûts opérationnels en raison des frais de trafic sortant.

Qu'est-ce qui provoque un faible taux d'accès au cache ?

Un faible taux de correspondance dans le cache peut résulter de règles de cache mal configurées, de niveaux de mise en cache variables pour les ressources selon le type d'URL (comme les chaînes de requête), ou de conflits entre les en-têtes de contrôle de cache des serveurs d'origine et les règles de mise en cache du CDN.

Qu'est-ce qui pourrait provoquer l'apparition de contenu obsolète sur un site web utilisant un CDN ?

Du contenu obsolète peut apparaître si le paramètre de durée de vie (TTL) du contenu mis en cache est trop élevé. La durée de vie détermine combien de temps le contenu est mis en cache avant que le CDN ou le navigateur ne rafraîchisse sa copie. Une des solutions à ce problème est de réduire la durée de vie ou effacer le cache.