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


43

Наразі наш запис 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)

Чи є кращий вибір для оновлення / повтору / закінчення / закінчення / за замовчуванням 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 refresh

Перевірте оновлення SOA

Поле для оновлення SOA становить 3600 секунд, що нижче рекомендованого мінімуму. Мале значення оновлення може призвести до непотрібного обсягу запитів або несподіваної поведінки, особливо якщо ви використовуєте значення 0. Якщо ви регулярно вносите зміни в зону DNS або використовуєте послуги балансування навантаження на основі DNS, менша величина допоможе забезпечити зміни поширюються якомога швидше.

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

Розгляньте значення між 7200 та 10800 у полі оновлення SOA.

Інша сторінка діагностики за адресою http://www.intodns.com/stackoverflow.com не пропонує реальних підказок.


12
Їх рекомендація щодо монетного двору - хибна. Це поле не має такого значення вже більше десяти років. Їх пояснення оновлення також підозріло. Інтервал оновлення впливає лише на первинний -> вторинний рабовласницький стан, і при невеликій зоні, як ваша, це значення не викликало б жодних проблем. Крім того, якщо провайдер DNS використовує позадіапазонний механізм синхронізації, то фактичне значення суперечить. (NB: Я
заробляю

4
ps, якщо хтось насправді дав це як власне пояснення та рекомендацію щодо цінностей, я би дав йому -1 голос. Оскільки ви цитуєте когось іншого, я не буду ;-)
Альнітак

2
Для уточнення, у полі SOA Minimum TTL зберігається значення TTL, яке використовуватиметься для кешування негативного запиту - запиту, який було зроблено в зону для деякого ресурсу, який не існує. Їх пояснення є правдивим, але не вдається уточнити, що це лише для негативних відповідей. По-друге, оновлення SOA ніколи не використовується звичайними запитами DNS, воно застосовується лише в тих ситуаціях, коли у вас є вторинні (підлеглі) сервери імен, що оновлюються з вашого основного (головного) сервера імен. Тому їх пояснення цього поля, безумовно, не відповідає дійсності.
thomasrutter

3
Дійсно, існує стільки дезінформації про те, що означають ці записи в Інтернеті, що важко знайти щось, що є насправді правдою. Підсумовуючи це, більшість значень у записі SOA є безглуздими для фактичних запитів DNS, і вони призначені замість вас для використання у вашому власному механізмі передачі внутрішньої зони з вашого основного на вторинний сервер імен. Виняток становить MinTTL, але це, як не передбачають стандарти, мінімальний TTL, а також не TTL "за замовчуванням", а замість запропонованого TTL для кешування негативних результатів. Що набагато важливіше - це окремі TTL-записи для записів типу A і NS.
thomasrutter

4
Усі ці сайти типу intodns / dnscog / dnsstuff тощо просто копіюють однакову дезінформацію. Ви можете сказати, тому що багато їх тексту копіюється. Я вважав, що MXToolbox ( mxtoolbox.com/DNSCheck.aspx ) є більш надійним ресурсом. Наприклад, їх пояснення значення SOA MINTTL тут точно - рідкісна якість.
thomasrutter

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.