Quanto tempo demora a propagação DNS?

A propagação DNS é o tempo que as alterações de DNS demoram a espalhar-se pelos resolvers de todo o mundo. Pode ser tão rápido como alguns minutos ou tão lento como 48 horas, dependendo dos valores de TTL e de como os resolvers gerem as suas caches.

Porque uma alteração não é imediataAutoritativoTTL 3600Resolver0 sResolver1800 sResolver3599 s✓~✗
Cada resolver mantém a resposta que guardou até expirar a sua própria cópia do TTL.

A resposta curta

  • Best case: Alguns minutos (se o TTL anterior já era baixo)
  • Caso habitual: 1-4 horas (TTL de 3600)
  • Worst case: Até 48 horas (TTL alto, resolvers lentos, cache do fornecedor de Internet)

Porque a propagação DNS demora

O DNS é um sistema distribuído e com cache. Quando altera um registo DNS, o servidor de nomes autoritativo é actualizado de imediato — mas os resolvers de todo o mundo continuam a servir a sua cópia em cache até o TTL expirar.

Exemplo: se o seu registo A tiver um TTL de 3600 (1 hora) e um resolver o tiver guardado em cache 1 minuto antes da sua alteração, esse resolver vai servir o IP antigo durante mais 59 minutos antes de obter o novo.

O processo de propagação

  1. Actualiza um registo DNS no seu servidor de nomes autoritativo
  2. A alteração fica imediatamente activa no seu servidor de nomes
  3. Mas os resolvers de todo o mundo ainda têm o registo antigo em cache
  4. Cada resolver espera de forma independente que o TTL da sua cache expire
  5. Quando o TTL expira, consulta o servidor de nomes autoritativo e obtém o novo registo
  6. No final, todos os resolvers têm o novo registo — a propagação está concluída

O que afecta a velocidade de propagação

FactorImpact
TTL do registo antigoO mais importante — TTL alto = propagação lenta
TTL do novo registoDetermina a frequência de actualização após a propagação
Comportamento do resolver do fornecedor de InternetAlguns fornecedores ignoram o TTL e mantêm a cache mais tempo (raro)
Cache de CDN ou proxyAs CDN podem guardar o DNS em cache de forma independente
Cache DNS do navegadorO Chrome guarda o DNS em cache cerca de um minuto, independentemente do TTL

Como acelerar a propagação

A técnica essencial: baixe o TTL antes de fazer alterações.

  1. 48 horas antes: Mude o TTL para 300 segundos (5 minutos)
  2. Aguarde 48 horas (para que as caches antigas com TTL alto expirem globalmente)
  3. Faça a sua alteração de DNS
  4. A propagação passa a acontecer em menos de 5 minutos na maioria dos resolvers
  5. Depois de confirmar que tudo funciona, volte a subir o TTL para 3600

Porque pode ver resultados diferentes a partir de locais diferentes

Como cada resolver guarda e renova os registos DNS de forma independente, durante a propagação diferentes partes do mundo vêem resultados diferentes. Um resolver no Japão pode ainda ter o IP antigo enquanto um na Europa já obteve o novo.

É por isso que, após uma alteração de DNS, é importante verificar a propagação a partir de vários locais.

Mito: «espere 48 horas pela propagação DNS»

O conselho das «48 horas» está desactualizado. Se baixar o TTL antecipadamente, a propagação acontece em minutos, não em dias. A estimativa de 48 horas parte de um TTL máximo de 172800 segundos (2 dias) — na prática, muito poucos registos usam TTL tão altos.

Verifique a propagação DNS em todo o mundo

Experimente no seu domínio

Veja a teoria na prática — execute Verificador de propagação DNS para o seu próprio domínio.