HeadlinesBriefing HeadlinesBriefing.com

Optimisation cache DNS Cloudflare : 100 To

Hacker News •
×

Le cache DNS de Cloudflare stocke plus de 25 milliards d'entrées, et chaque octet gaspillé coûte 250 Go sur l'ensemble du réseau. En apportant cinq modifications successives à la façon dont les entrées sont stockées en mémoire, ils ont réduit l'empreinte par entrée de plus de 50 %, libérant environ 100 téraoctets de RAM—soit l'équivalent de 130 serveurs Gen 13. Les optimisations ont également amélioré les performances : le débit d'insertion a augmenté de 43 % et la latence de recherche a diminué de 19 %, prouvant que réduire l'utilisation de la mémoire peut accélérer les opérations.

Les changements clés ont consisté à remplacer les types Vec et String par Box<[T]> et Box<str>, éliminant les champs de capacité inutiles et la surallocation du tas. Chaque entrée de cache utilisait à l'origine 8 champs Vec/String, chacun avec 24 octets de surcharge ; en passant aux tranches, 64 octets ont été économisés par entrée. Cela a été mesuré via des benchmarks avec des allocateurs personnalisés et validé en production, où les économies de mémoire étaient significatives sans sacrifier la vitesse.

L'article détaille le processus technique, depuis le benchmarking avec un trafic représentatif (56 % d'enregistrements A, 25 % AAAA, 19 % TXT) jusqu'au déploiement progressif dans les centres de données. Il souligne que les petites économies par entrée s'accumulent massivement à l'échelle, et qu'un profilage minutieux peut conduire à des gains à la fois en mémoire et en performances.

Entités clés : Entreprises : Cloudflare

FAQ : Comment Cloudflare a-t-il réduit l'utilisation mémoire du cache DNS de 100 To ?

Cloudflare a remplacé les champs Vec et String dans les entrées de cache par Box<[T]> et Box<str>, éliminant la surcharge de capacité et le gaspillage de tas, économisant 64 octets par entrée, ce qui totalise ~100 To sur 25 milliards d'entrées.

Source: Hacker News · Résumé par HeadlinesBriefing