TTL

Оригинальное название: Time To Live (TTL)

Коротко

Время в секундах, указанное у DNS-записи, в течение которого резолверы могут хранить её в кеше и не запрашивать заново у авторитетного сервера.

Что такое «TTL»

TTL (Time To Live) — главный рычаг, от которого зависит, как быстро мир увидит изменения в DNS. Резолвер провайдера, получив запись с TTL 3600, час отвечает своим клиентам из кеша. Если за этот час адрес сайта сменился, часть посетителей всё ещё попадает на старый сервер. Отсюда расхожее «DNS обновляется до суток»: никакой единой рассылки обновлений нет, просто кеши живут столько, сколько разрешил TTL. Подробнее этот эффект разобран на странице о распространении DNS-изменений.

Как выбрать значение

  • 300 секунд и меньше — для записей, которые могут понадобиться быстро сменить: переключение на резервный сервер, ожидаемый переезд.
  • 3600 секунд — разумное значение по умолчанию для A, MX и TXT большинства сайтов.
  • 86400 секунд и больше — для редко меняющихся записей вроде NS. Меньше запросов, но любая ошибка будет жить в кешах сутки.

Слишком маленький TTL не ломает сайт, но добавляет каждому новому посетителю время на лишний DNS-запрос. Отдельный срок действует для отрицательных ответов «такого имени нет» — его задаёт SOA-запись зоны.

Пример: подготовка к переезду сервера

Сайт переносят на новый хостинг, у A-записи стоит TTL 86400. Порядок такой:

  1. Минимум за сутки до переезда снизить TTL до 300: прежнее значение 86400 позволяет кешам хранить запись как раз сутки.
  2. В день переезда сменить IP в A-записи. Через пять минут большинство резолверов получит новый адрес.
  3. Убедиться, что всё работает, и вернуть TTL к 3600.

Об остальных шагах — копии файлов, базы и проверке после переключения — рассказано в статье о переносе сайта на другой хостинг без простоя.

Как увидеть TTL в ответе

dig example.ru A +noall +answer
example.ru.   3600   IN   A   203.0.113.10
; тот же запрос к тому же резолверу через минуту
example.ru.   3540   IN   A   203.0.113.10

Авторитетный сервер всегда отдаёт исходное значение, а кеширующий — оставшееся время жизни, которое убывает до нуля. Некоторые резолверы ограничивают TTL снизу или сверху по своим правилам, поэтому на очень маленькие значения полагаться полностью нельзя.

Обновлено:

Все термины раздела «Доменные имена и DNS»

Что будем искать? Например,Продвижение