Рекомендуемая DNS запись SOA TTL по умолчанию?


43

В настоящее время для нашей записи SOA DNS задано следующее значение для 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)

Есть ли лучший выбор для нашего TTL обновления / повторных попыток / истечения срока действия / по умолчанию для сайта, такого как stackoverflow.com, который получает около 1 млн просмотров страниц в день?

Ответы:


48

Фактическая посещаемость сайта не имеет значения.

Все эти параметры (за исключением «TTL по умолчанию») влияют только на частоту, с которой вторичные DNS-серверы вашего домена запрашивают обновления на основном DNS-сервере.

Если ваша зона меняется нечасто (как я полагаю, ваша), то ваше значение «обновить» в настоящее время немного ниже. Обычно первичный сервер должен отправлять NOTIFYсообщение каждому из вторичных серверов всякий раз, когда происходит обновление, и в этот момент вторичные серверы немедленно получают файл зоны. В наши дни механизм «обновить / повторить / истечь» является лишь отступлением к этому.

В любом случае, вероятно, ваш DNS-провайдер автоматически синхронизирует изменения со всеми соответствующими DNS-серверами на лету, не используя встроенные механизмы синхронизации DNS, поэтому фактические значения, вероятно, не имеют значения.

Обратите внимание, что поле «TTL по умолчанию» больше не означает, что оно говорит. Настоящий TTL по умолчанию устанавливается (по крайней мере, в BIND) с помощью $TTLдирективы, и он используется только тогда, когда нет явного TTL, установленного для каждой записи.

Значение поля «TTL по умолчанию» было изменено в RFC 2308, и это фактически подсказка для отрицательного кэширования . Если ваш сервер возвращает отрицательный ответ (например, NXDOMAINили NODATA), то как долго удаленный сервер должен ждать, прежде чем пытаться снова.

Текущее значение немного низкое, но нет никакого вреда, если оставить его как есть. Это часто игнорируется в любом случае.


Обратите внимание, что значение «TTL по умолчанию» используется только для отрицательного TTL кэширования, если оно меньше, чем TTL самой записи SOA. См. 5 - Caching Negative AnswersСсылочный RFC для деталей. Более подробная информация здесь: serverfault.com/questions/426807/…
htaccess

8

Интересно, что страница диагностики DNS от ребят из dyn (наших хостов DNS) ..

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

.. говорит это на MINTTL:

Проверьте SOA MINTTL

Ваше значение SOA minttl составляет 60 секунд, что ниже рекомендуемого минимума для общего использования DNS. Если вы регулярно вносите изменения в свою зону DNS или используете службы балансировки нагрузки на основе DNS, здесь небольшое значение - ОК.

Рекомендация

Попробуйте указать значение от 1800 до 86400 в поле SOA Minttl.

и это на SOA обновить

Проверьте обновление SOA

Ваше поле обновления SOA составляет 3600 секунд, что меньше рекомендуемого минимума. Низкое значение обновления может привести к ненужному объему запросов или неожиданному поведению, особенно если вы используете значение 0. Если вы регулярно вносите изменения в свою зону DNS или используете службы балансировки нагрузки на основе DNS, меньшее значение поможет обеспечить изменения распространяются как можно быстрее.

Рекомендация

Попробуйте указать значение от 7200 до 10800 в поле обновления SOA.

Другая диагностическая страница на http://www.intodns.com/stackoverflow.com не предлагает никаких реальных подсказок.


12
Их рекомендация Minttl является поддельным. Это поле не имело такого значения более десяти лет. Их объяснение обновления также подозрительно. Интервал обновления влияет только на первичное -> вторичное подчинение, и в такой маленькой зоне, как ваша, это значение не вызовет никаких проблем. Кроме того, если поставщик DNS использует механизм внеполосной синхронизации, то фактическое значение является спорным. (Примечание: я зарабатываю на жизнь DNS)
Альнитак,

4
ps если бы кто-то на самом деле дал это как собственное объяснение и рекомендацию для значений, я бы отдал -1 голос. Поскольку вы цитируете кого-то еще, я не буду ;-)
Альнитак,

2
Для пояснения, в поле SOA Minimum TTL хранится значение TTL, которое будет использоваться для кэширования отрицательного запроса - запроса, направленного в зону для некоторого ресурса, который не существует. Их объяснение в некотором роде верно, но не в состоянии прояснить это только для отрицательных ответов. Во-вторых, SOA Refresh никогда не используется обычными DNS-запросами, он используется только в тех случаях, когда у вас есть вторичные (подчиненные) серверы имен, обновляющие себя с вашего основного (главного) сервера имен. Таким образом, их объяснение этой области определенно не соответствует действительности.
Томасруттер

3
На самом деле, в Интернете так много дезинформации о том, что означают эти записи, что трудно найти что-то, что действительно соответствует действительности. Таким образом, большинство значений в записи SOA не имеют смысла для реальных запросов DNS, и вместо этого они предназначены для того, чтобы вы могли использовать их для собственного механизма передачи внутренней зоны с первичного на вторичный сервер имен. Исключением является MinTTL, но, как предполагают стандарты, это не минимальный TTL и не «TTL по умолчанию», а рекомендуемый TTL для кеширования отрицательных результатов. Гораздо важнее отдельные TTL для таких записей, как A и NS.
Томасруттер

4
Все эти сайты типа indns / dnscog / dnsstuff и т. Д. Просто копируют одну и ту же дезинформацию друг от друга. Вы можете сказать, потому что большая часть их текста скопирована. Я считаю MXToolbox ( mxtoolbox.com/DNSCheck.aspx ) более надежным ресурсом. Например, их объяснение значения SOA MINTTL здесь является точным - редкое качество.
Томасруттер

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.