当前位置:首页 >  IDC >  云计算 >  正文

DNS缓存每条省下五百多字节,全球集群腾出100TB内存

 2026-10-08 13:40  来源: 互联网   我来投稿 撤稿纠错

  一键部署OpenClaw

A5站长网10月8日消息,Cloudflare的工程团队披露了一次内存占用优化:他们重新设计了1.1.1.1公共解析服务所用DNS缓存的内存表示,把每条缓存条目占用的空间从953字节压到420字节,单条降幅56%,整个服务器集群因此释放出约100TB的工作集内存。动手的都是数据结构的细节,没有加一根内存条。

量级决定了这件事值不值得做。支撑这项解析服务的平台同时跑着好几个DNS服务,任意时刻存着超过2500亿条缓存记录。官方给了一个换算:在这个规模下,每条记录多浪费一个字节,整个集群就要多花超过250GB内存。所以“每条多几个字节无所谓”这种想法,在这个量级上是不成立的。

做法分五轮,都在Rust层面完成。第一轮把插入后就固定不变的可变容器换成定长切片,砍掉预留但用不到的容量字段,这一项单独省下超过15TB;第二轮把每次响应里的三张记录表合并成一个缓冲区,用两字节偏移量索引;第三轮不再重复保存与查询域名相同的所有者名称,改成读取时重建;后两轮把记录数据改成带长度前缀的原始格式连续存放,让一条A记录不再占用和最大记录类型一样的空间。

结果比预期好,而且是两头都赚。缓存插入吞吐量从每秒62.5万条提升到89.3万条,涨了43%;查询延迟从828纳秒降到670纳秒,降了19%;单实例的常驻内存从9.3GB降到5.3GB。压缩数据结构通常会带来解码开销和更差的缓存局部性,最后拿处理器换内存,这次两项指标同时变好,说明改的方向不是压得更紧,而是去掉了本来就不该有的开销。

为什么这件事现在被拿出来讲?服务器内存条的价格一年内接近翻倍,团队最近定型的一代服务器单台配768GB,因为价格放弃了容量更大的配置。省出来的100TB,相当于130台这种服务器的内存总量。这类优化的价值在硬件涨价的时候最直观,不是省几个字节的问题,是同样的预算能多开出多少服务能力。

申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!

相关标签
dns缓存内存优化

相关文章

热门排行

信息推荐