TTL in DNS
Wat is TTL?
TTL staat voor time to live. Het is een getal in seconden dat bij elk DNS-record staat. Het vertelt resolvers hoe lang ze een antwoord mogen bewaren voordat ze het opnieuw opvragen.
Een TTL van 3600 betekent dat een antwoord één uur mag blijven in de cache. Bij 300 is dat vijf minuten. Hoe lager de waarde, hoe vaker er opnieuw wordt gezocht en hoe sneller een wijziging zichtbaar is.
Welke waarde kies je?
Er is geen ideale waarde, het is een afweging. Een lage TTL maakt wijzigingen snel zichtbaar, maar zorgt voor meer DNS-verkeer en vaker een trage eerste lookup voor bezoekers. Een hoge TTL is efficiënter en stabieler, maar wijzigingen blijven langer hangen in caches.
Voor records die zelden veranderen, zoals een MX-record of een TXT-verificatierecord, is een langere TTL meestal prima. Ga je binnenkort iets verhuizen, dan kan een lagere waarde handig zijn. Het minimumveld in het SOA-record is iets anders; zie het SOA-record.
Verlagen vóór een wijziging
Een veelgebruikte aanpak is de TTL een tijd vóór een wijziging te verlagen. Caches hebben dan al een korte termijn, zodat je na de wijziging snel de nieuwe waarde kunt zien. Zet de TTL daarna weer omhoog.
Dit werkt alleen als je het ruim van tevoren doet. Een cache die nog een oude, lange TTL kreeg, houdt zich daaraan tot die verloopt. Wat er bij een wijziging gebeurt, lees je bij DNS-propagatie. Hoe een resolver een antwoord opzoekt, staat bij hoe een DNS-lookup werkt.
Wat TTL wel en niet regelt
De TTL bepaalt alleen hoe lang een resolver een DNS-antwoord bewaart. Hij zegt niets over hoe snel je website laadt of hoe snel de server reageert. Voor de wachttijd bij een wijziging is de TTL belangrijk, maar het is niet het hele verhaal, want ook andere caches spelen mee.
Een TTL van nul betekent dat een antwoord niet bewaard hoort te worden. Dat is zelden nodig, omdat het veel extra DNS-verkeer geeft. Voor de meeste records is een gewone waarde beter.
Veelgestelde vragen
Wat is een goede TTL voor een website?
Er is geen vaste waarde die voor iedereen goed is. Veel beheerders houden een middenweg aan en verlagen de TTL alleen bij een geplande wijziging. Vraag je hoster of de standaardwaarde past bij hoe vaak je wijzigingen doet.
Blijft mijn wijziging hangen door een hoge TTL?
Dat kan. Resolvers bewaren het oude antwoord tot de TTL verloopt, dus de wijziging wordt pas zichtbaar als die termijn voorbij is. Heb je de TTL vooraf niet verlaagd, dan moet je dus wachten tot de oude waarde is verlopen.