Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

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

Текущее значение немного занижено, но оставить его как есть нет ничего страшного. В любом случае его часто игнорируют.

Интересно, что страница диагностики 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 не предлагает никаких реальных намеков.

Из 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.