Cloudflare a mis à jour ses services de génération de zones DNS, réduisant le temps médian de génération de 7,7 à 3,3 secondes et l’utilisation de la mémoire sur les serveurs Zone Builder de 85 %. Ces améliorations visent à gérer un volume croissant de modifications de domaines sans reconstruire plus de données que nécessaire.
Une zone DNS contient les enregistrements, les paramètres et les métadonnées d’un domaine. Lorsqu’un client modifie un enregistrement ou un paramètre, Cloudflare distribue la mise à jour sur son réseau DNS. L’entreprise reçoit désormais environ 800 modifications de zones par seconde, contre 250 il y a quatre ans. Certains domaines hébergés contiennent également plus de 20 millions d’enregistrements, ce qui rend les reconstructions complètes exigeantes en mémoire et en trafic réseau.
Cloudflare avait auparavant introduit des mises à jour partielles pour les modifications d’enregistrements. Les paramètres étaient plus difficiles à traiter, car un événement pouvait déclencher des modifications connexes dans toute une zone, et les événements de modification entrants ne fournissaient pas toujours suffisamment d’informations pour déterminer le travail nécessaire. Par conséquent, les mises à jour de paramètres déclenchaient souvent une reconstruction complète.
Les ingénieurs ont modifié le système d’événements pour y inclure les raisons et des détails supplémentaires, permettant ainsi de classer les mises à jour et, si possible, de les traiter au moyen de reconstructions plus limitées. Les modifications concernant les enregistrements à l’apex ou les métadonnées, ainsi que les mises à jour de serveurs de noms ou de caractères génériques, peuvent désormais recourir à des procédures ciblées. Les reconstructions complètes sont maintenues lorsqu’il n’existe pas de méthode de mise à jour partielle, et les grandes zones sont mises à jour par morceaux plus petits. Selon Cloudflare, ces changements ont ramené l’utilisation de la mémoire de 50–79 Go à environ 7 Go.
L’équipe a également fusionné deux ordonnanceurs et modifié leur gestion des tâches entrantes. L’ordonnanceur mis à jour peut regrouper plusieurs modifications concernant la même zone et traiter des tâches plus petites pendant qu’une reconstruction plus lente est en cours. Auparavant, les requêtes pouvaient attendre derrière une tâche lente, car les messages étaient traités dans l’ordre, ce qui créait des files d’attente ensuite traitées par à-coups. Cloudflare indique que cette approche révisée améliore le traitement simultané et permet de traiter les mises à jour de façon plus régulière.
Sources: Tom's Hardware.