Zalecany rekord DNS SOA TTL domyślny?

43

Obecnie mamy ustawiony rekord DNS SOA dla 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)

Czy są lepsze opcje dla naszego odświeżania / ponawiania / wygasania / domyślnego czasu wygaśnięcia dla witryny takiej jak stackoverflow.com, która otrzymuje prawie 1 mln odsłon dziennie?

Geoff Dalgas
źródło

Odpowiedzi:

48

Rzeczywisty ruch na stronie jest nieistotny.

Wszystkie te ustawienia (oprócz „domyślnego TTL”) wpływają tylko na to, jak często drugorzędne serwery DNS Twojej domeny odpytują na głównym serwerze DNS w poszukiwaniu aktualizacji.

Jeśli twoja strefa zmienia się tylko rzadko (co, jak sądzę, twoja), to twoja wartość „odświeżania” jest obecnie nieco niższa. Zazwyczaj główny powinien wysyłać NOTIFYkomunikat do każdego z pomocniczych urządzeń za każdym razem, gdy pojawi się aktualizacja, w której pomocnicze natychmiast pobierają plik strefy. W dzisiejszych czasach mechanizm „odśwież / ponów / wygaśnij” jest tylko zabezpieczeniem.

W każdym razie prawdopodobne jest, że Twój dostawca DNS automatycznie synchronizuje zmiany na wszystkich odpowiednich serwerach DNS w locie, bez korzystania z wbudowanych mechanizmów synchronizacji DNS, więc rzeczywiste wartości są prawdopodobnie nieistotne.

Pamiętaj, że pole „domyślne TTL” nie oznacza już tego, co mówi. Rzeczywiste domyślne TTL jest ustawione (przynajmniej w BIND) zgodnie z $TTLdyrektywą, i jest używane tylko wtedy, gdy nie ma wyraźnego TTL w każdym rekordzie.

Znaczenie pola „domyślne TTL” zostało zmienione w RFC 2308 i jest to właściwie wskazówka dla negatywnego buforowania . Jeśli Twój serwer zwraca odpowiedź negatywną (np. NXDOMAINLub NODATA), oznacza to, jak długo serwer zdalny powinien poczekać przed ponowną próbą.

Obecna wartość jest nieco niska, ale nie ma nic złego, pozostawiając ją taką, jaka jest. I tak często jest ignorowane.

Alnitak
źródło
Należy zauważyć, że „domyślna wartość TTL” jest używana tylko dla ujemnego TTL buforowania, jeśli jest mniejsza niż wartość TTL samego rekordu SOA. Szczegółowe informacje można znaleźć 5 - Caching Negative Answersw odnośnym dokumencie RFC. Więcej informacji tutaj: serverfault.com/questions/426807/…
htaccess
8

Co ciekawe, strona diagnostyczna DNS od dyn facetów (naszych hostów DNS) ..

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

.. mówi to na MINTTL:

Sprawdź SOA MINTTL

Wartość SOA minttl wynosi 60 sekund, czyli mniej niż zalecane minimum do ogólnego użytku DNS. Jeśli regularnie wprowadzasz zmiany w strefie DNS lub korzystasz z usług równoważenia obciążenia opartych na DNS, mała wartość tutaj jest OK.

Zalecenie

Rozważ umieszczenie wartości między 1800 a 86400 w polu SOA minttl.

i to przy odświeżaniu SOA

Sprawdź odświeżanie SOA

Twoje pole odświeżania SOA wynosi 3600 sekund, czyli mniej niż zalecane minimum. Niska wartość odświeżania może powodować niepotrzebną liczbę zapytań lub nieoczekiwane zachowanie, szczególnie jeśli używasz wartości 0. Jeśli regularnie wprowadzasz zmiany w strefie DNS lub korzystasz z usług równoważenia obciążenia opartych na DNS, mniejsza wartość pomoże zapewnić zmiany propagują się tak szybko, jak to możliwe.

Zalecenie

Rozważ wprowadzenie wartości od 7200 do 10800 w polu odświeżania SOA.

Inna strona diagnostyczna pod adresem http://www.intodns.com/stackoverflow.com nie zawiera żadnych prawdziwych wskazówek.

Jeff Atwood
źródło
12
Ich rekomendacja minttl jest nieprawdziwa. To pole nie miało takiego znaczenia od ponad dekady. Ich wyjaśnienie odświeżenia jest również podejrzane. Interwał odświeżania wpływa tylko na pierwotne -> wtórne podporządkowanie, a przy małej strefie takiej jak twoja ta wartość nie spowodowałaby żadnych problemów. Ponadto, jeśli dostawca DNS korzysta z mechanizmu synchronizacji pozapasmowej, wówczas rzeczywista wartość jest sporna. (Uwaga: żyję z
DNSu
4
ps, jeśli ktoś faktycznie dał to jako własne wyjaśnienie i zalecenie dotyczące wartości, dałbym mu -1 głos. Jak cytujesz kogoś innego, nie będę ;-)
Alnitak
2
Aby wyjaśnić, pole SOA Minimum TTL przechowuje wartość TTL, która ma być użyta do buforowania negatywnego żądania - żądania skierowanego do strefy dla niektórych zasobów, które nie istnieją. Ich wyjaśnienie jest trochę prawdziwe, ale nie wyjaśnia, że ​​dotyczy tylko negatywnych odpowiedzi. Po drugie, odświeżanie SOA nigdy nie jest używane przez normalne zapytania DNS, jest używane tylko w sytuacjach, w których drugorzędne (podrzędne) serwery nazw aktualizują się z podstawowego (głównego) serwera nazw. Zatem ich wyjaśnienie tego pola jest zdecydowanie nieprawdziwe.
thomasrutter,
3
Naprawdę jest tak wiele dezinformacji na temat tego, co te rekordy oznaczają w Internecie, że trudno jest znaleźć coś, co faktycznie jest prawdą. Podsumowując, większość wartości w rekordzie SOA nie ma znaczenia dla rzeczywistych zapytań DNS, a zamiast tego jest przeznaczona do użycia we własnym mechanizmie transferu strefy wewnętrznej z podstawowego do pomocniczego serwera nazw. Wyjątkiem jest MinTTL, ale nie jest to, jak sugerują standardy, minimalne TTL, ani też nie jest to „domyślne” TTL, ale sugerowane TTL do buforowania negatywnych wyników. Znacząco ważniejsze są indywidualne TTL dla rekordów takich jak A i NS.
thomasrutter
4
Wszystkie te witryny typu intodns / dnscog / dnsstuff itp. Po prostu kopiują od siebie tę samą dezinformację. Możesz to stwierdzić, ponieważ duża część ich tekstu jest wklejana. Znalazłem MXToolbox ( mxtoolbox.com/DNSCheck.aspx ) jako bardziej niezawodny zasób. Na przykład wyjaśnienie tutaj wartości SOA MINTTL jest dokładne - rzadka jakość.
thomasrutter
8

Od 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
źródło