Cloudflare reduz 100 TB de memória no cache DNS 1.1.1.1 com novo layout em Rust

Cloudflare redesenhou a representação em memória do cache DNS usado pelo resolver 1.1.1.1. A mudança reduziu o footprint por entrada em 56% e liberou cerca de 100 TB de memória de working-set em toda a frota, segundo a reportagem da InfoQ. A plataforma Big Pineapple, que mantém mais de 250 bilhões de entradas de cache DNS a qualquer momento, também ganhou 43% de throughput de inserção e 19% de redução na latência de lookup.
Cinco mudanças no layout em Rust
O trabalho envolveu cinco ajustes sucessivos na representação do cache em Rust. Primeiro, a Cloudflare trocou Vec e String por Box<[T]> e Box<str> para dados que não mudam após a inserção, economizando 64 bytes por entrada e mais de 15 TB em toda a frota. Depois, combinou registros answer, authority e additional em uma única lista com offsets compactos, transformou Booleans em bitflags e deixou de armazenar owner names idênticos ao domínio consultado, reconstruindo-os a partir da chave do cache.
O maior desafio foi o uso de enums do Rust. A solução inicial de encaixotar as variantes maiores em Box reduziu o tamanho, mas as alocações separadas adicionaram sobrecarga e pioraram a localidade de memória.
Por que o DNS wire format resolveu o problema
O design final armazena os dados de registros em um buffer contíguo de bytes no formato DNS wire. Isso elimina o overhead do enum e das alocações por registro, além de melhorar a localidade. Tipos de registro usados com frequência podem ser copiados diretamente para as respostas; registros com domain names ainda exigem parsing por causa da compressão de nomes do DNS.
A mudança reduziu o footprint por entrada de 953 para 420 bytes e as alocações de 1,1 KB para 461 bytes nos benchmarks. O resultado é a combinação de menos memória total com inserções 43% mais rápidas e lookups 19% mais rápidos.
Números de produção e rollout
A otimização foi implementada na 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; no p90, de 6,5 GB para 3,8 GB. Com isso, a Cloudflare planeja usar os cerca de 100 TB liberados para aumentar a capacidade de cache sem elevar o consumo global de memória.
Sebastiaan Neuteboom, engenheiro de sistemas da Cloudflare, resumiu o resultado: não é todo dia que se economizam 100 terabytes de memória.
Ressalvas e quando não compensa
Esse tipo de otimização não é universal. Um comentarista no Reddit resumiu o tradeoff: a maioria desses truques de memória só compensa no volume de requisições da Cloudflare; em escala menor, a indireção extra do boxing de variantes pode prejudicar a localidade de cache mais do que ajuda.
A abordagem também difere de outros resolvedores recursivos. O Unbound mantém caches separados de mensagem, RRset, chave e negativos com tamanhos e slabs configuráveis, enquanto o PowerDNS Recursor usa múltiplos tipos de cache, incluindo packet e record caches. O trabalho da Cloudflare foca em reduzir a sobrecarga de representação e alocação dentro de cada entrada individual, conforme a nota da InfoQ.
Para equipes rodando servidores DNS autoritativos ou resolvers menores, os números da Cloudflare servem como referência de arquitetura, não como receita direta. A economia de 100 TB depende de uma frota com mais de 250 bilhões de entradas em cache. Em cargas com poucos milhões de registros, representações mais simples e alocações separadas costumam ser suficientes e mais fáceis de manter.
Quando o cache é o gargalo e o volume de consultas justifica o esforço, o caminho do DNS wire format com buffer contíguo é uma alternativa concreta para reduzir memória e melhorar localidade sem mudar a semântica do resolver. Quando não é, a complexidade adicional pode não pagar o investimento.
Leia também
- Desenvolvimento
Cloudflare reduz 100 TB de RAM no Pingora Backend Router com hashing consistente em Rust
6 min de leitura - Desenvolvimento
Rust 1.99 estabiliza funções variádicas C e APIs de layout para ponteiros brutos
3 min de leitura - Desenvolvimento
Cloudflare lança Workers KV Instant com p99 abaixo de 2 ms e replicação em 250 ms
3 min de leitura
Fontes

Fundador da DEVDINIZ
Software em produção
51 ferramentas gratuitas, direto no navegador
Utilitários para CPF, CNPJ, JWT, JSON, regex, cores e mais. Processamento local, sem cadastro e sem conta — a mesma engenharia que sustenta o que escrevemos aqui.