DNS TTL bestemmer, hvor længe brugere over hele verden skal gemme gamle IP-adresser i cachen, og har dermed en mærkbar indflydelse på Ydelse Deres hjemmeside. Forkerte indstillinger medfører langsom udbredelse, unødvendige belastningsspidser og inkonsekvent tilgængelighed på tværs af kontinenter.
Centrale punkter
- TTL-grundlæggende: Caching-varighed styrer opdateringshastighed og serverbelastning.
- Forplantning: Forskellige caches forårsager globale inkonsekvenser.
- Afvejninger: Kort TTL giver fleksibilitet, lang TTL sparer forespørgsler.
- Hosting DNS: Anycast og hurtige autoritative servere fremskynder svarene.
- Bedste praksis: Sænk før ændringer, hæv derefter igen.
Hvordan DNS TTL fungerer – kort forklaret
Jeg ser TTL som Caching-håndtag, der bestemmer, hvor længe resolvere beholder svar, før de igen spørger den autoritative server. En kort indstilling fremskynder ændringer, men genererer flere Forespørgsler og dermed belastning på navneservere. En lang indstilling reducerer forespørgsler, men forsinker enhver ændring af A-, AAAA- eller MX-poster mærkbart. Hvis jeg migrerer en IP, og TTL er 24 timer, forbliver den gamle adresse aktiv i cachen på mange netværk i op til en dag. Det er netop her, de berygtede propagationsforskelle opstår, hvor brugere i et land allerede kan se den nye IP, mens andre regioner stadig leverer det gamle svar.
Caching-niveauer og TTL i praksis
Jeg skelner mellem flere caching-niveauer, som tilsammen præger brugeroplevelsen:
- Klient-/OS-cache: Operativsystemer og browsere cacher DNS-svar automatisk. Dette lag respekterer normalt TTL, men kan virke betydeligt kortere eller længere lokalt, hvis softwaren har sine egne begrænsninger.
- Rekursiv resolver (ISP/virksomhed): Her findes hovedcachen. Den bestemmer, hvor ofte autoritative navneservere faktisk bliver forespurgt. Nogle resolvere klemme TTL'er (sæt minimums- eller maksimumsværdier) eller brug serve-stale, for midlertidigt at levere udløbne svar ved problemer i upstream.
- Autoritative navneserver: De leverer sandheden til zonen. Deres responstider og geografiske nærhed afgør, hvor smertefrit korte TTL'er fungerer i belastningsspidser.
Det er også vigtigt negativ caching: Svar som NXDOMAIN caches i resolveren i henhold til SOA-parameteren (negativ TTL). Dette er godt mod unødvendige forespørgsler, men kan ved fejlkonfigurationer (f.eks. utilsigtet slettede poster) bevare fejlen unødigt længe. Jeg indstiller negative TTL'er praktisk, så fejl hurtigt kan rettes.
De reelle omkostninger ved en forkert TTL
Ved for korte TTL'er regner jeg altid med en markant stigning i Serverbelastning, som kan forårsage forsinkelser og endda udfald ved trafikspidser. For lange TTL'er bringer ro i forespørgselsstrømmen, men de forsinker vigtige ændringer som failover, certifikatskift eller migrationsskridt. For at kunne vurdere mulighederne på et funderet grundlag er det værd at foretage en TTL-ydeevne sammenligning, der viser, hvor meget forespørgselsvolumen og latenstid varierer afhængigt af værdien. Set fra et SEO-perspektiv udgør forældede poster en risiko for hurtig time-to-first-byte og fører til øgede afvisninger. Hver ekstra sekunds forsinkelse koster konvertering, hvilket i butikker direkte reducerer omsætningen i euro.
Kompromiser: kort vs. lang TTL
Jeg bruger korte TTL'er, når jeg tager hurtige Ændringer planlæg og øg dem, når infrastrukturen kører stabilt, og latenstiden skal komme fra cachen. Dette gælder især for dynamiske webapps, hvor IP-adresser eller routing ofte skifter. Jeg forbeholder længere TTL'er til statiske websteder eller landingssider, hvis måladresser sjældent skifter. Et praktisk kompromis ligger ofte på 3.600 sekunder, fordi agilitet og forespørgselsvolumen her forbliver rimeligt afbalanceret. Hvis du bruger lastfordeling eller DNS-baseret failover, skal du hellere satse på korte værdier, men acceptere ekstra forespørgsler og være opmærksom på kapaciteten på de autoritative servere.
| TTL-værdi | Fordele | Ulemper | Typisk brug |
|---|---|---|---|
| 300 s (5 min.) | Hurtige opdateringer, Failover | Flere forespørgsler, højere belastning | Dynamiske apps, load balancing |
| 3.600 s (1 time) | God Kompromis, moderat belastning | Gennemsnitlig forsinkelse ved ændringer | Webapps, API'er |
| 86.400 s (24 timer) | Få forespørgsler, hurtig cache-hit | Langsom udbredelse, langsom failover | Statiske websteder, sjældne opdateringer |
Record-typer i TTL-kontekst – hvad jeg lægger mærke til
Jeg differentierer TTL efter rekordtype, fordi der kan opstå kædeeffekter:
- CNAME: Den effektive cache-varighed beregnes ud fra korteste TTL langs kæden (CNAME selv plus målrekord). Hvis du har mange CNAME-hops (f.eks. CDN-opsætninger), bør du undgå alt for korte værdier, da ellers stiger query-belastningen uforholdsmæssigt meget.
- ALIAS/ANAME ved Apex: De opløses af udbyderen på serversiden. Jeg vælger en TTL til den synlige Apex-post, der passer til ændringsrytmen i upstream, og kontrollerer, hvor ofte udbyderen opdaterer internt.
- NS/Lim: Delegations- og Glue-TTL'er findes i forældrezonen. Lange værdier stabiliserer tilgængeligheden, men forsinker navneserverændringer. Jeg planlægger her med generøse forløbstider.
- TXT/SRV: For SPF, DKIM, DMARC og Service Discovery indstiller jeg mellem til længere TTL'er (f.eks. 3.600–43.200 s), da disse poster sjældnere ændres, men har vidtrækkende konsekvenser ved forkert konfiguration.
Forståelse af propagationsproblemer
Jeg tager højde for, at internetudbydere og lokale resolvere delvist bruger TTL'er. ignorere eller forlænge, hvilket gør opdateringer synlige på forskellig vis i de forskellige regioner. Dette medfører perioder, hvor Europa bruger den nye IP, mens Asien stadig bruger gamle caches. Derudover forlænger høje TTL'er på TLD- eller rodniveau den samlede effekt, hvilket bremser selv velplanlagte overgange. Eksempel på migration: Hvis man ikke sænker TTL på forhånd, risikerer man timers til dages rækkeviddeudfald og meldinger om tilsyneladende nedbrud. Jeg forhindrer dette ved at sænke TTL 24-48 timer før ændringen for at gøre den senere overgang kontrolleret og pålidelig.
Hosting-DNS: Indflydelse fra udbyderen
Når jeg vælger udbyder, lægger jeg vægt på Anycast-netværk, lav latent Autoritative og pålidelige opdateringspipelines. Gode hosting-DNS-platforme leverer hurtigt over hele verden og reagerer sikkert på spidsbelastninger. Svage platforme forstærker propagationsproblemer, fordi overbelastede navneservere reagerer langsommere og timeouts hober sig op. Hvis du planlægger georouting eller failover, kan du desuden drage fordel af et globalt netværk med knudepunkter tæt på målgruppen. En sammenligning som Anycast vs. GeoDNS hjælper mig med at fastlægge den rigtige strategi for rækkevidde og modstandsdygtighed.
DNSSEC og sikkerhed i samspil med TTL
Jeg bruger DNSSEC, hvor det er muligt, for at reducere risikoen for cache-poisoning og man-in-the-middle-angreb. TTL'er fungerer her som Replay-barriere: Kortere værdier begrænser den tid, hvor et signeret svar kan forblive gyldigt i cachen. Samtidig skal RRSIG-signaturer ligger inden for deres gyldighedsperiode. Jeg undgår situationer, hvor TTL er længere end den resterende signaturgyldighed – ellers serverer resolvere i tvivlstilfælde tidligere eller leverer fejl. For zoner med hyppige ændringer holder jeg signaturløbetider moderate og harmoniserer dem med de valgte TTL'er.
Praktiske indstillingsregler for forskellige scenarier
Jeg sætter som regel A- og AAAA-poster kort mellem 300 og 1.800 sekunder, hvis IP-adresser ændrer sig lejlighedsvis, eller hvis jeg arbejder med DNS-failover. MX-poster opbevarer jeg betydeligt længere, ca. 43.200 til 86.400 sekunder, fordi mail-routing skal forblive stabil. For statiske websteder tilpasser jeg tilsvarende lange værdier, så opslag oftere kommer fra cachen. For meget dynamiske API'er eller feature-flags holder jeg mig til 300 til 3.600 sekunder for at kunne styre fleksibelt. Efter større projekter øger jeg TTL igen, så snart logfiler og overvågning viser stabile tilstande.
Kapacitetsplanlægning: Queries vs. TTL – en enkel tommelfingerregel
Jeg planlægger autoritetskapaciteten ud fra det forventede antal resolvere og TTL. Groft sagt gælder: Jo kortere TTL, jo hyppigere spørger alle Resolver efter. En stærkt forenklet beregning hjælper med at få en fornemmelse for størrelsesordener:
Antag, at 20.000 forskellige rekursive resolvere over hele verden forespørger et populært domæne. Ved TTL 300 s giver det i gennemsnit ca. ≈ 20.000 / 300 ≈ 67 QPS pr. rekordnavn (f.eks. Apex). Ved TTL 3.600 s falder den samme værdi til ≈ 5–6 QPS. I komplekse opsætninger med CNAME-kæder, flere poster og DNS-baseret belastningsbalancering skaleres belastningen tilsvarende. Jeg dimensionerer derfor navneserveren ikke kun efter den samlede trafik, men eksplicit efter kritisk Navne med kort TTL.
Plan for planlagte ændringer og migrationer
Jeg forbereder ændringer med en klar Procedure Før: 24–48 timer før ændringen sænker jeg TTL til ca. 300 sekunder. Efter skiftet kontrollerer jeg det nye svar med dig og certificerer, at de autoritative servere viser de ønskede poster. Derefter kontrollerer jeg offentligt tilgængelige resolvere på flere lokationer, indtil den nye IP vises overalt. Når alt er stabilt, øger jeg TTL igen til den normale værdi og udløser en cache-flush lokalt. Hvis du er usikker, kan du finde praktiske tips under Optimer DNS-caching, f.eks. hvordan ipconfig /flushdns eller killall -HUP mDNSResponder tømmer klientcachen.
Fejlbilleder og fejlfindingsvejledning
Hvis opdateringerne ikke bliver synlige, arbejder jeg struktureret:
- Autoritativ kontrol: Er den nye post identisk på alle autoritative navneservere? Er TTL korrekt der?
- Sammenlign resolvere: Forespørg flere offentlige resolvere (forskellige regioner) og observer den returnerede resterende TTL. Store forskelle tyder på gamle caches eller TTL-clamping.
- Analysere kæder: Kontroller hvert trin for CNAME'er. Den korteste TTL bestemmer den samlede varighed, indtil alt er opdateret.
- Negative cacher: Identificer NXDOMAIN/NOERROR NODATA-tilfælde. En tidligere manglende post kan stadig være cachelagret som „negativ“.
- Delegation/Glue: Ved ændringer af navneserveren skal du sikre dig, at opdateringer af overordnede zoner er gennemført, og at de nye NS også svarer.
Samtidig tjekker jeg logfilerne for stigende SERVFAIL/timeout-andel. Det tyder ofte på overbelastede autoritative servere, der ikke længere kan håndtere korte TTL'er.
Optimer global ydeevne med georouting og CDN
Jeg kombinerer gennemsnitlige TTL'er på 1.800 til 3.600 sekunder med Geo-routing og CDN'er, så brugerne ender tæt på edge-placeringen. Denne kombination reducerer roundtrips, fordeler belastningen og holder failover hurtigt nok. Ved DNS-baseret load balancing arbejder jeg med kortere TTL'er, men accepterer hyppigere svar fra den autoritative server. I CDN-opsætninger forhindrer jeg desuden hotspots, fordi flere forespørgsler går til regionale knudepunkter, og DNS derefter betjenes fra caches. På den måde reducerer jeg den globale latenstid uden at miste dage ved hver routingopdatering.
Enterprise-specifikationer: Split-Horizon, VPN, DoH/DoT
I virksomhedsnetværk tager jeg højde for Split-Horizon-DNS, hvor interne og eksterne svar adskiller sig. Her skal TTL'er og ændringsplaner være konsistente på begge sider, ellers opstår der modstridende situationer. VPN-klienter har ofte deres egne resolvere, hvis caches undertiden følger andre regler. Derudover bruger mange brugere i dag DNS over HTTPS/TLS. Dette flytter cache-suveræniteten til globale resolvere og kan ændre propagationsmønstre. Jeg måler derfor bevidst på tværs af flere resolvertyper for at kontrollere den reelle rækkevidde i stedet for kun at se på ISP-specifikke data.
Risici ved vedvarende lav eller høj TTL
Jeg undgår permanent meget korte TTL'er, fordi de bruger op til 50-70 procent mere Belastning og opbruger reserver. Det medfører omkostninger og forringer responstiderne i spidsbelastningsperioder. På den anden side anser jeg konstant meget lange TTL'er for risikable, hvis jeg har brug for failover med et enkelt tryk på en knap. DDoS-påvirkninger kan også delvist afbødes med fornuftige lange TTL'er, fordi flere svar kommer direkte fra caches. Kunsten ligger i at finde en balance, der afbalancerer opdateringshastigheden og forespørgselsvolumenet på en fornuftig måde.
Adskil DNS- og HTTP-caching tydeligt
Jeg skelner klart mellem: DNS-TTL bestemmer, hvor hurtigt brugerne får den rigtige måladresse; HTTP-/CDN-caches styre, hvor længe indhold bag denne adresse cachelagres. En kort DNS-TTL fremskynder routingændringer, men løser ikke problemet med forældet indhold i Edge. Omvendt kan en lang DNS-TTL med meget korte HTTP-TTL'er være fornuftig, hvis kun indholdet roteres ofte. Jeg afstemmer begge dele, så der hverken opstår unødvendig DNS-belastning eller leveres gamle aktiver til klienter.
Metrikker og overvågning: Sådan holder jeg TTL under kontrol
Jeg måler forespørgselsfrekvensen, Forsinkelse, cache-hit-ratio og NXDOMAIN-quote for at forstå effekten af min TTL. Hvis query-raten stiger efter en reduktion, justerer jeg værdierne og kontrollerer grænserne for de autoritative servere. Hvis logfilerne viser en høj fejlrate, undersøger jeg, om klienter bruger gamle caches, eller om ISP'er anvender afvigende TTL'er. Derudover optimerer jeg SOA-posten, især den negative cacheværdi, så resolvere ikke beholder forkerte ikke-eksisterende svar for længe. Regelmæssige tests med værktøjer som dig og globale opslagskontroller sikrer, at ændringer bliver synlige overalt.
Kort opsummeret
Forkerte TTL'er koster penge over hele verden Hastighed og forårsager opdateringer, der først bliver synlige timer senere. Før jeg foretager ændringer, sætter jeg korte værdier, kontrollerer effekten og øger derefter igen til et rimeligt niveau. Til statisk indhold vælger jeg længere TTL'er, til dynamiske tjenester snarere korte til mellemstore. Gode hosting-DNS-platforme med Anycast og nærliggende PoP'er gør hver indstilling mere robust og fremskynder svarene. Hvis man følger disse principper, reducerer man latenstiden, styrker tilgængeligheden og opnår en målbart bedre brugeroplevelse.


