Registro SOA DNS recomendado TTL padrão?

43

Atualmente, temos nosso registro SOA DNS definido para o seguinte stackoverflow.com:

    primary name server = ns1.p19.dynect.net
    serial  = 2009090909
    refresh = 3600 (1 hour)
    retry   = 600 (10 mins)
    expire  = 604800 (7 days)
    default TTL = 60 (1 min)

Existem opções melhores para o nosso TTL de atualização / repetição / vencimento / padrão para um site como o stackoverflow.com que recebe cerca de 1 milhão de visualizações de página por dia?

Geoff Dalgas
fonte

Respostas:

48

A taxa de tráfego real para o site é irrelevante.

Todas essas configurações (exceto "TTL padrão") afetam apenas a frequência com que os servidores DNS secundários do seu domínio pesquisam o servidor DNS primário em busca de atualizações.

Se sua zona mudar apenas com pouca frequência (o que eu acredito que a sua), então o valor de "atualização" está atualmente um pouco baixo. Normalmente, o primário deve enviar uma NOTIFYmensagem para cada um dos secundários sempre que houver uma atualização, quando os secundários capturam o arquivo da zona imediatamente. Hoje em dia, o mecanismo "atualizar / repetir / expirar" é apenas um obstáculo para isso.

De qualquer forma, é provável que o seu provedor DNS esteja sincronizando automaticamente as alterações em todos os servidores DNS relevantes em tempo real sem usar os mecanismos de sincronização internos do DNS, de modo que os valores reais provavelmente sejam irrelevantes.

Observe que o campo "TTL padrão" não significa mais o que diz. O TTL padrão real é definido (pelo menos em BIND) com a $TTLdiretiva e é usado apenas quando não há um TTL explícito definido em cada registro.

O significado do campo "TTL padrão" foi alterado na RFC 2308 e, na verdade, é uma dica para o cache negativo . Se o seu servidor retornar uma resposta negativa (por exemplo, NXDOMAINou NODATA), é quanto tempo o servidor remoto deve esperar antes de tentar novamente.

O valor atual é um pouco baixo, mas não há mal em deixá-lo como está. Geralmente é ignorado de qualquer maneira.

Alnitak
fonte
Observe que o valor "TTL padrão" é usado apenas para o TTL com cache negativo se for menor que o TTL do próprio registro SOA. Consulte 5 - Caching Negative Answersa RFC referenciada para obter detalhes. Mais informações aqui: serverfault.com/questions/426807/…
htaccess em
8

Curiosamente, a página de diagnóstico DNS dos caras dyn (nossos hosts DNS) ..

http://dnscog.com/report/stackoverflow.com

.. diz isso no MINTTL:

Verificar SOA MINTTL

O valor SOA minttl é de 60 segundos, abaixo do mínimo recomendado para uso geral do DNS. Se você fizer alterações regularmente na sua zona DNS ou usar serviços de balanceamento de carga com base em DNS, um pequeno valor aqui é OK.

Recomendação

Considere colocar valor entre 1800 e 86400 no seu campo SOA minttl.

e isso na atualização SOA

Verificar atualização de SOA

O campo de atualização da SOA é de 3600 segundos, abaixo do mínimo recomendado. Ter um valor baixo de atualização pode resultar em volume de consultas desnecessário ou comportamento inesperado, especialmente se você usar um valor igual a 0. Se você alterar regularmente sua zona DNS ou usar serviços de balanceamento de carga baseados em DNS, um valor menor ajudará a garantir as alterações se propagam o mais rápido possível.

Recomendação

Considere colocar valor entre 7200 e 10800 no seu campo de atualização SOA.

Outra página de diagnóstico em http://www.intodns.com/stackoverflow.com não oferece dicas reais.

Jeff Atwood
fonte
12
Sua recomendação minttl é falsa. Esse campo não tem esse significado há mais de uma década. Sua explicação de atualização também é suspeita. O intervalo de atualização afeta apenas a escravidão primária -> secundária e, com uma zona pequena como a sua, esse valor não causaria problemas. Além disso, se o provedor DNS estiver usando um mecanismo de sincronização fora da banda, o valor real será discutível. (NB: Eu faço DNS para viver)
Alnitak
4
ps se alguém realmente der isso como sua própria explicação e recomendação para os valores, eu daria um voto -1. Como você está citando alguém que eu não vou ;-)
Alnitak
2
Para esclarecer, o campo TTA Mínimo de SOA armazena o valor TTL a ser usado para armazenar em cache uma solicitação negativa - uma solicitação feita à zona para algum recurso que não existe. A explicação deles é verdadeira, mas deixa de esclarecer que é apenas para respostas negativas. Em segundo lugar, a atualização SOA nunca é usada por consultas DNS normais, é usada apenas em situações em que os servidores de nomes secundários (escravos) se atualizam a partir do servidor de nomes primário (mestre). Portanto, a explicação deles para esse campo é definitivamente falsa.
thomasrutter
3
Realmente, há tantas informações erradas sobre o significado desses registros on-line que é difícil encontrar algo que seja realmente verdadeiro. Em resumo, a maioria dos valores no registro SOA não faz sentido para consultas DNS reais e destina-se a você usar para seu próprio mecanismo de transferência de zona interna dos servidores de nomes primários para secundários. A exceção é o MinTTL, mas esse não é, como sugerem os padrões, TTL mínimo, nem é um TTL "padrão", mas um TTL sugerido para armazenar resultados negativos em cache. O que importa muito mais são os TTLs individuais para registros como A e NS.
thomasrutter
4
Todos esses sites do tipo intodns / dnscog / dnsstuff etc apenas copiam as mesmas informações erradas uns dos outros. Você pode perceber porque muito do texto deles é copiado e colado. Eu achei o MXToolbox ( mxtoolbox.com/DNSCheck.aspx ) um recurso mais confiável. Por exemplo, a explicação do valor do SOA MINTTL aqui é precisa - uma qualidade rara.
thomasrutter
8

De Pingdom: http://dnscheck.pingdom.com/

SOA TTL  recommended >= 3600.
SOA refresh  recommended >= 14400.
SOA retry  recommended >= 3600.
SOA expire  recommended >= 604800.
SOA minimum  recommended between 300 and 86400.
Octa
fonte