昊梵体育网

程序员省下533字节,给Cloudflare省出100TB内存 Cloudfl

程序员省下533字节,给Cloudflare省出100TB内存

Cloudflare最近干了件极具程序员味的事,对着 Cloudflare 公共DNS服务背后的 DNS 缓存,一点一点抠内存。整个集群最终减少了大约 100TB内存用量,相当于整整 130 台 Cloudflare Gen 13 服务器的内存总量。
底层的逻辑其实很清晰。这套系统在任意时刻,都要保存超过 2500 亿条 DNS 缓存记录。到了这种量级,每条记录哪怕只浪费 1 个字节,放到整个集群里,就是超过 250GB。
工程师连着做了 5 轮优化,剔除缓存记录里用不上的预留空间,减少指针和重复数据,把单条记录的平均内存占用从 953 字节硬生生压到了 420 字节,足足省下了 533 字节。
内存省下来以后,系统速度变得更快了,缓存写入速度提升了 43%,查询延迟也下降了 19%。
这些节省出来的内存,Cloudflare 接下来准备全部投入缓存扩容,让更多 DNS 查询直接命中缓存,减少向上游服务器发起查询的次数。
Cloudflare 这次证明了一件事,当系统大到一定程度,工程师亲手省下的几百个字节,最后也能变成 100TB。