HeadlinesBriefing HeadlinesBriefing.com

优化Cloudflare DNS缓存:节省100TB

Hacker News •
×

Cloudflare的DNS缓存存储超过250亿条记录,每个字节的浪费都会在全局造成250GB的额外开销。通过对内存中条目存储方式的五次连续改进,他们将每个条目的占用空间削减了50%以上,释放了约100太字节的内存——相当于130台Gen 13服务器。这些优化还提升了性能:插入吞吐量提高了43%,查找延迟降低了19%,证明了减少内存占用可以加速操作。

关键改动包括用Box<[T]>和Box<str>替换Vec和String类型,消除了不必要的容量字段和堆分配。每个缓存条目原本使用8个Vec/String字段,每个字段有24字节的开销;改用切片后,每个条目节省了64字节。这些改进通过自定义分配器基准测试进行测量,并在生产环境中验证,内存节省显著且不影响速度。

文章详细介绍了技术过程,从使用代表性流量(56% A记录、25% AAAA记录、19% TXT记录)进行基准测试,到在全球数据中心逐步部署。文章强调,每个条目的小幅节省在规模效应下会大幅累积,而细致的性能分析可以同时带来内存和性能的双重收益。

关键实体:公司:Cloudflare

常见问题:Cloudflare如何将DNS缓存内存使用减少100TB?

Cloudflare用Box<[T]>和Box<str>替换了缓存条目中的Vec和String字段,消除了容量开销和堆浪费,每个条目节省64字节,在250亿条记录上累计节省约100TB。

来源: Hacker News · 由HeadlinesBriefing整理摘要