A Cloudflare redesenhou a representação em memória do cache DNS usado pelo seu resolvedor 1.1.1.1, reduzindo a pegada por entrada em 56% e liberando aproximadamente 100 TB de memória de trabalho em toda sua infraestrutura. As mudanças no Big Pineapple, a plataforma DNS da Cloudflare, também aumentaram a taxa de inserção no cache em 43% e reduziram a latência de busca em 19%.
O Big Pineapple armazena mais de 250 bilhões de entradas de cache DNS em qualquer momento. Sebastiaan Neuteboom, engenheiro de sistemas da Cloudflare, descreveu o resultado no LinkedIn como: "Não é todo dia que você consegue economizar 100 terabytes de memória".
Cinco mudanças sucessivas na representação do cache
O trabalho envolveu cinco mudanças sucessivas na representação do cache em Rust. A Cloudflare substituiu Vec e String por Box para dados fixos após inserção, economizando 64 bytes por entrada e mais de 15 TB em toda a frota. Em seguida, combinou registros de resposta, autoridade e adicionais em uma única lista com offsets compactos, compactou booleanos em bitflags e omitiu nomes de proprietários que correspondiam ao domínio consultado, reconstruindo-os a partir da chave do cache.
O maior desafio envolveu enums do Rust: a Cloudflare inicialmente colocou variantes maiores em caixas, mas alocações separadas adicionaram sobrecarga e reduziram a localidade de memória. Um comentarista do Reddit resumiu o trade-off:
"Muitos desses truques de memória só compensam quando você está no volume de requisições da Cloudflare; em uma escala menor, a indireção extra do boxing de variantes pode prejudicar mais a localidade do cache do que ajudar."
Design final: buffer de byte contíguo
O design final da Cloudflare armazena dados de registros em um buffer de byte contíguo usando o formato de fio DNS (DNS wire format). Isso remove o overhead de enum e alocação por registro enquanto melhora a localidade. Tipos de registros frequentemente usados podem ser copiados diretamente para respostas, enquanto registros contendo nomes de domínio ainda exigem análise para compressão de nomes DNS.
A abordagem difere das arquiteturas de cache usadas por outros resolvedores DNS recursivos. O Unbound, por exemplo, mantém caches separados de mensagem, RRset, chave e negativo com tamanhos de cache configuráveis e configurações de slab, enquanto o PowerDNS Recursor usa múltiplos tipos de cache, incluindo caches de pacote e registro. O trabalho da Cloudflare, em vez disso, se concentra em reduzir a representação e o overhead de alocação dentro de entradas de cache individuais.
Resultados em produção
A otimização foi implementada em produção entre 18 de maio e 6 de julho de 2026. No p99, a memória residente por instância caiu de 9,3 GB para 5,3 GB, enquanto a memória p90 diminuiu de 6,5 GB para 3,8 GB.








