Bonjour à tous,
J’ai configuré le CDN suivant :
- un pullzone pour les fichiers JS
- un pullzone pour les logos et les graphiques de la page d’accueil (fréquemment consultés)
- un pullzone pour les assets S3 (sur Digital Ocean Spaces)
J’utilise BunnyCDN. Mon trafic de forum se répartit approximativement comme suit : 85 % en Amérique du Nord, 5 % au Royaume-Uni/en France et 10 % en Asie du Sud-Est.
Pour les deux premiers pullzones, j’utilise l’ensemble des 34 serveurs de bordure (edge servers) du CDN répartis dans le monde, car il s’agit de fichiers fréquemment consultés. Cela me permet de maintenir une faible latence tout en conservant un taux de cache/taux de succès (hit rate) relativement élevé (respectivement 92 % et 99,8 %). Idéalement, je souhaiterais obtenir un taux de cache encore plus élevé pour les fichiers JS, mais le défi réside dans le fait que les centres de données à faible trafic affichent un mauvais taux de cache en raison de la rareté des accès à ces fichiers JS (quelques fois par mois).
Pour le troisième pullzone dédié aux assets S3, j’utilise 10 serveurs de bordure répartis en Amérique du Nord et en Europe. En effet, les assets S3 générés par les utilisateurs sont parfois consultés de manière irrégulière, et je préfère éviter d’avoir un nombre trop élevé de nœuds CDN qui réduiraient le taux de succès/cache, et par conséquent, augmenteraient le temps d’accès. Idéalement, j’aimerais avoir un serveur de bordure en Asie du Sud-Est, mais le CDN ne me permet pas de sélectionner manuellement les centres de données. Mon taux de succès/cache chez BunnyCDN est d’environ 78 %, ce que je juge décent, car par exemple, la consultation d’une image originale en pleine résolution plutôt que d’une version optimisée, ou un référencement par un moteur de recherche vers une ancienne discussion rarement consultée, font inévitablement baisser ce pourcentage. J’utilisais auparavant Cloudfront, avec un taux de succès/cache d’environ 55 %, mais cela pourrait être dû au fait que Cloudfront dispose de nombreuses emplacements de serveurs de bordure, ou simplement que mon trafic de forum est relativement faible pour eux. (J’ai quitté Cloudfront pour des raisons de coût, car nous sommes un forum de passionnés avec des revenus minimes.)
Ma question pour le groupe est la suivante : avez-vous des stratégies ou des méthodes pour maintenir un taux de succès/cache élevé ? Quel taux de succès/cache obtenez-vous ?
Avez-vous des suggestions pour optimiser ma configuration et augmenter ce pourcentage ? Existe-t-il des CDN économiques permettant de sélectionner manuellement les emplacements des serveurs de bordure ? Puis-je le faire via des règles de bordure (edge rules) ? Si oui, je pourrais simplement en sélectionner cinq pour maintenir un taux de cache élevé : la côte ouest des États-Unis, la côte est des États-Unis, le sud des États-Unis, le Royaume-Uni et Singapour, car c’est là que mon trafic est concentré.
Une idée serait de servir les assets optimisés depuis S3 et les assets originaux depuis les espaces DO, mais cette séparation n’est pas réalisable par défaut au niveau du logiciel.
D’autres réflexions ?