Cloudflare redesenha cache DNS do 1.1.1.1 em Rust e libera 100 tb de memória

2 min
Cloudflare redesenha cache DNS do 1.1.1.1 em Rust e libera 100 tb de memória

A Cloudflare reescreveu a representação em memória do cache DNS do resolvedor 1.1.1.1: consumo por entrada caiu 56%, inserção subiu 43% e 100 TB de RAM foram liberados na frota.

Cloudflare reduziu em 56% o consumo por entrada do cache DNS do 1.1.1.1 e liberou cerca de 100 TB otimização de memória do cache DNS do 1.1.1.1 na frota, com ganhos de 43% na inserção e 19% na latência.

  • Cache DNS do 1.1.1.1 teve consumo por entrada reduzido de 953 para 420 bytes (−56%)

  • Otimização liberou cerca de 100 TB de memória de trabalho na frota da Cloudflare

    Leia também AWS, Azure ou Google Cloud: como escolher
  • Taxa de inserção subiu 43% e latência de consulta caiu 19%

  • Cinco mudanças sucessivas em Rust, incluindo Box, bitflags e buffer contíguo em formato DNS wire

  • Memória residente p99 por instância caiu de 9,3 GB para 5,3 GB

O que a Cloudflare mudou no cache DNS do 1.1.1.1

Cinco mudanças sucessivas em Rust reescreveram a representação em memória do cache do Big Pineapple, plataforma de DNS da Cloudflare que mantém mais de 250 bilhões de entradas ativas.

A troca de Vec e String por Box e Box economizou 64 bytes por entrada e mais de 15 TB na frota; bitflags, offsets compactos e buffer contíguo em formato DNS wire completaram o desenho final.

Números em produção e comparação com outros resolvedores

Implantada entre 18 de maio e, a otimização derrubou a memória residente p99 por instância de 9,3 GB para 5,3 GB e a p90 de 6,5 GB para 3,8 GB.

Diferente de Unbound e PowerDNS Recursor, que organizam múltiplos tipos de cache, o trabalho da Cloudflare atacou o overhead de representação dentro de cada entrada individual.

O que desenvolvedores podem aproveitar

Princípios como fatias boxed, bitflags e eliminação de alocações por registro são aplicáveis a qualquer serviço com milhões de objetos em memória.

Métricas do cache DNS do 1.1.1.1 antes e depois da otimização
MétricaAntesDepois
Consumo por entrada953 bytes420 bytes
Alocações por entrada1,1 KB461 bytes
Memória residente p999,3 GB5,3 GB
Memória residente p906,5 GB3,8 GB
Taxa de inserçãobaseline+43%
Latência de consultabaseline−19%

Arraste para o lado para ver toda a tabela.

A ressalva da comunidade: em volumes menores, a indireção extra pode prejudicar a localidade de cache. Benchmarks com o padrão real de acesso são obrigatórios.

Leia também:

Fonte: Infoq

D

· Editor-chefe

Especialista em tecnologia, criador de conteúdo e fundador do portal Mercado de TI e Casa do Dev. Analiso tendências de mercado, Inteligência Artificial e carreira, entregando informações precisas, tr...

LinkedIn Site

COMPARTILHAR