Czym jest TTL?
TTL (Time To Live, czas życia) to ustawienie DNS określające w sekundach, jak długo rekord DNS może być przechowywany w pamięci podręcznej przez resolvery, przeglądarki i inne systemy, zanim będą musiały pobrać jego świeżą kopię z autorytatywnych serwerów nazw. Wartości TTL równoważą szybkie rozchodzenie się zmian DNS (niski TTL) z mniejszym obciążeniem serwerów i lepszą wydajnością (wysoki TTL).Jak działa TTL
DNS Query Flow with TTL:
1. Client queries resolver for example.com
2. Resolver checks cache - not found
3. Resolver queries authoritative server
4. Server returns: A record 192.0.2.1, TTL 3600
5. Resolver caches for 3600 seconds (1 hour)
6. Subsequent queries served from cache
7. After 3600s, cache expires, cycle repeats
Typowe wartości TTL
| TTL (sekundy) | Czas trwania | Zastosowanie |
|---|---|---|
| 60-300 | 1-5 minut | Podczas zmian DNS i przełączania awaryjnego |
| 300-900 | 5-15 minut | Usługi dynamiczne |
| 3600 | 1 godzina | Standardowe witryny |
| 14400 | 4 godziny | Stabilne rekordy |
| 86400 | 24 godziny | Rekordy zmieniające się rzadko |
TTL w rekordach DNS
Format rekordu
example.com. 3600 IN A 192.0.2.1
│
└── TTL in seconds
Różne wartości TTL dla rekordów
; Stable nameservers - high TTL
example.com. 86400 IN NS ns1.example.com.
; Web server - moderate TTL
www.example.com. 3600 IN A 192.0.2.1
; Dynamic content - low TTL
api.example.com. 300 IN A 192.0.2.50
Strategia TTL
Przed zmianami DNS
Obniż TTL przed planowanymi zmianami:
Timeline:
Day -2: Lower TTL from 86400 to 300
Day 0: Make DNS change
Day 0+: Change propagates within 5 minutes
Day +1: Raise TTL back to 86400
Kompromisy
| Niski TTL (60-300) | Wysoki TTL (3600+) |
|---|---|
| Szybka propagacja | Powolna propagacja |
| Więcej zapytań DNS | Mniej zapytań DNS |
| Większe obciążenie serwera | Mniejsze obciążenie serwera |
| Lepszy do przełączania awaryjnego | Lepszy dla stabilności |
| Większe opóźnienie | Mniejsze opóźnienie |
TTL a propagacja DNS
TTL bezpośrednio wpływa na czas propagacji:
Max propagation time ≈ Highest cached TTL
If TTL = 86400 (24 hours):
- Some users see old IP for up to 24 hours
- Global propagation: up to 24-48 hours
If TTL = 300 (5 minutes):
- Most users see new IP within 5-10 minutes
- Global propagation: under 1 hour
Sprawdzanie bieżącego TTL
Użycie dig
dig example.com A
;; ANSWER SECTION:
example.com. 3542 IN A 192.0.2.1
│
└── Remaining TTL (seconds until cache expires)
Użycie nslookup
nslookup -debug example.com
Najlepsze praktyki
1. Stosuj odpowiednie wartości: dopasuj TTL do zmienności rekordu
2. Obniżaj TTL przed zmianami: zmniejsz go 24-48 godzin wcześniej
3. Uwzględniaj warstwy buforowania: CDN-y i przeglądarki mogą wydłużać opóźnienie
4. Równoważ obciążenie z szybkością: nie ustawiaj niepotrzebnie niskiego TTL
5. Monitoruj sytuację po zmianach: sprawdź, czy propagacja się zakończyła
6. Dokumentuj standardy: ustal zasady dotyczące TTL
TTL to podstawowe pojęcie DNS, które bezpośrednio wpływa na szybkość wejścia zmian DNS w życie w Internecie oraz na obciążenie serwerów nazw.