Bonnes pratiques pour la diffusion de contenu

Cette page présente les meilleures pratiques pour optimiser et accélérer la diffusion de contenu avec Cloud CDN.

Cloud CDN utilise l'équilibrage de charge HTTP(S) comme origine du contenu pouvant être mis en cache. Un équilibreur de charge HTTP(S) externe peut fournir aux utilisateurs des contenus statiques et créés dynamiquement, à l'aide d'une adresse IP globale provenant de groupes d'instances de machine virtuelle (VM) Compute Engine, de buckets Cloud Storage ou des deux.

En raison de l'intégration transparente avec Google Cloud, vous disposez de plusieurs options pour déployer Cloud CDN et gérer le contenu. Aidez-vous des meilleures pratiques répertoriées ici pour planifier et affiner votre déploiement. Pour plus d'informations, voir Utiliser Cloud CDN.

Mettre en cache automatiquement le contenu statique

Lorsque vous activez Cloud CDN, vous pouvez lui permettre de mettre en cache automatiquement le contenu statique pour améliorer les performances.

Pour mettre automatiquement en cache les réponses statiques de votre origine, vous pouvez utiliser le paramètre --cache-mode=CACHE_ALL_STATIC (valeur par défaut). Ce paramètre permet à Cloud CDN de mettre en cache les types de contenu statique courants.

Définir le délai d'expiration d'un contenu sensible au facteur temps

Chaque élément de contenu d'un cache Cloud CDN est associé à un délai d'expiration. Il est donc important de définir un délai d'expiration approprié au cas d'utilisation. Étant donné que les serveurs d'origine doivent renvoyer le contenu qui expire sur les serveurs de cache, vous devez choisir soigneusement le délai d'expiration.

L'une des méthodes de sélection du délai d'expiration consiste à classer le contenu selon sa fréquence de mise à jour. Par exemple :

  • Mises à jour en quasi temps réel, telles que les flux en direct pour les événements sportifs ou la circulation
  • Mises à jour fréquentes, telles que des informations météorologiques hebdomadaires, quotidiennes ou horaires ou des images d'actualités en première page
  • Mises à jour peu fréquentes, telles qu'un logo de site Web, des fichiers CSS ou JavaScript

Ensuite, sélectionnez le délai d'expiration par catégorie de contenu. Par exemple, un délai d'expiration de cinq secondes peut être approprié pour les scores sportifs en temps quasi réel ; une expiration d’une heure peut être utilisée pour les mises à jour météorologiques. Pour le contenu stocké dans Cloud Storage, définissez les délais d'expiration à l'aide des métadonnées Cache-Control. Lorsque le contenu est diffusé par Compute Engine, vous contrôlez les délais d'expiration par la configuration du logiciel serveur Web.

Les délais d'expiration sont spécifiés par les valeurs max-age et s-maxage dans l'en-tête Cache-Control. Cet en-tête est défini par la spécification HTTP. Par exemple, avec l'en-tête Cache-Control suivant, le contenu associé est lisible publiquement et peut être mis en cache avec un délai d'expiration du cache de 72 heures (259 200 secondes) :

  Cache-Control: public, max-age=259200

Pour optimiser la mise en cache, suivez les instructions de la section Présentation de la mise en cache. Gardez à l'esprit que les valeurs max-age et s-maxage du champ de métadonnées Cache-Control fonctionnent conjointement de la manière suivante :

  • Les valeurs max-age et s-maxage sont mesurées en secondes.
  • La valeur s-maxage s'applique uniquement aux caches partagés, pas aux caches de navigateur.
  • La valeur max-age s'applique à tous les caches, sauf si s-maxage la remplace.

Pour les contenus qui changent peu souvent ou qui doivent changer en même temps qu'un contenu associé, il est souvent approprié d'utiliser un délai d'expiration long et des URL avec versions gérées.

Optimiser les valeurs TTL de cache

Vous pouvez définir ou remplacer les valeurs TTL pour ajuster la durée de mise en cache de vos réponses et à la date à laquelle Cloud CDN valide à nouveau vos réponses.

Vous pouvez également définir une valeur TTL côté client pour exploiter au mieux les caches des navigateurs.

Pour en savoir plus, consultez la section Utiliser les paramètres TTL et les remplacements.

Améliorer le taux d'accès au cache avec des clés de cache personnalisées

Par défaut, Cloud CDN crée la clé de cache à partir de l'URL complète de la demande. Pour améliorer les performances et l'évolutivité, il est important d'optimiser le taux d'accès au cache. À cet effet, vous pouvez utiliser des clés de cache personnalisées.

Magasin de paires valeur/clé Cloud CDN
Magasin de paires valeur/clé Cloud CDN

Vous pouvez personnaliser les clés de cache pour inclure ou omettre toute combinaison de protocole, d'hôte et de chaîne de requête. Par exemple, supposons que deux sites Web sur des domaines différents utilisent le même logo. Pour afficher le logo, utilisez les clés de cache personnalisées, comme suit :

  • Le contenu du site Web est différent, mais vous utilisez le même logo d'entreprise sur les deux domaines. Lorsque vous activez Cloud CDN et personnalisez les clés de cache pour le service de backend contenant le logo, décochez la case Hôte pour que le cache ignore le domaine, mais mette en cache le logo.

  • Le logo doit être mis en cache, qu'il soit affiché via HTTP ou HTTPS. Lorsque vous personnalisez les clés de cache pour le service de backend contenant le logo, décochez la case Protocole pour que les demandes via HTTP et HTTPS soient considérées comme des correspondances pour l'entrée de cache du logo.

Pour apprendre à personnaliser les clés de cache, consultez la section Utiliser des clés de cache.

Mettre à jour un contenu à l'aide d'URL avec versions gérées

Le gestion des versions de contenu diffuse une version différente d'un même contenu, en le supprimant efficacement et en présentant le nouveau contenu aux utilisateurs avant l'expiration de l'entrée de cache. La gestion des versions étant gratuite et facile à utiliser, nous vous recommandons de l'utiliser comme approche par défaut pour la mise à jour d'un contenu pouvant être mis en cache.

Pour gérer les versions d'un contenu, ajoutez un paramètre à l'URL, tel qu'un numéro de version. Vous pouvez inclure des paramètres dans les URL de différentes manières :

  • Ajouter une chaîne de requête : file.ext?v=100
  • Modifier le nom du fichier : file.1.0.0.ext ou file_v100.ext
  • Modifier le chemin d'accès au fichier : /v100/file.ext

Lorsque vous ajoutez le paramètre, vous modifiez le nom du fichier et l'URL. Cette modification oblige le cache à ignorer toute entrée de cache existante.

Utiliser l'invalidation avec parcimonie pour supprimer du contenu

L'invalidation supprime un contenu des serveurs de cache distribués Cloud CDN avant l'expiration de l'entrée de cache. L'invalidation est finalement cohérente.

Nous vous recommandons d'utiliser l'invalidation avec parcimonie et uniquement en dernier recours. Par exemple, une invalidation est utile lorsque vous devez supprimer du contenu pour des raisons juridiques ou suite à un téléchargement accidentel. Sinon, nous vous recommandons d'utiliser la gestion des versions autant que possible, ou d'attendre que le contenu arrive normalement à expiration. Les serveurs de cache Cloud CDN évincent régulièrement du contenu rarement consulté pour faire de la place au nouveau contenu. Tout contenu qui n'est pas consulté pendant 30 jours est supprimé sans condition.

Contrairement à la définition des délais d'expiration et à l'utilisation d'URL avec versions gérées, chaque invalidation de cache que vous lancez vous est facturée et les invalidations de cache ont un débit limité.

Pour en savoir plus sur l'invalidation, consultez la présentation de l'invalidation de cache.

Utiliser des URL signées

Si vous utilisez des URL signées, notez les points suivants :

Examiner des tests de performance tiers

Découvrez des rapports de fournisseurs tiers, tels que ceux fournis par la communauté Cedexis Radar sur la disponibilité, la latence et le débit.