Tänk dig det här. Du har just bytt hostingleverantör och uppdaterat din A-post så att den pekar på den nya servern. Du laddar om din webbplats och ingenting har ändrats. Den gamla webbplatsen laddas fortfarande. Du kollar din DNS-panel och den nya posten är sparad. Vad är det som händer?
Svaret är TTL. När du ställer in en DNS-post anger du också ett TTL-värde som talar om för varje DNS-server på internet hur länge de får behålla en sparad kopia av posten. Tills den timern har gått ut fortsätter de servrarna att leverera den gamla informationen, även efter att du gjort en ändring. Att förstå hur DNS fungerar börjar med att förstå TTL, eftersom det styr hastigheten på varje DNS-ändring du gör.
Vad står TTL för?
TTL står för time to live. I DNS är det ett tal som hör till varje DNS-post och talar om för servrar hur många sekunder de får spara posten i cache innan de måste gå tillbaka och kontrollera en ny kopia.
Varje DNS-post du skapar har ett TTL-värde. Alla dina DNS-posttyper använder det. A-poster, CNAME-poster, MX-poster, TXT-poster. Var och en har sin egen TTL-inställning, och var och en kan sättas till ett annat värde beroende på hur ofta du förväntar dig att den posten ändras.
Hur fungerar TTL med enkla ord?
När någon skriver din domän i en webbläsare frågar deras enhet en DNS-server efter din webbplats IP-adress. DNS-servern slår upp din A-post och får svaret. Men den läser också TTL-värdet som hör till posten.
Om din TTL är satt till 3600 sparar DNS-servern svaret i 3 600 sekunder (en timme). Under den följande timmen får alla som frågar samma DNS-server efter din domän det sparade svaret. Servern kontrollerar inte igen förrän timern har gått ut.
När TTL har löpt ut utlöser nästa förfrågan en ny uppslagning. DNS-servern går tillbaka till källan, hämtar den aktuella posten, läser det nya TTL-värdet och startar nedräkningen igen.
Tänk dig en post-it-lapp på kylskåpet. Någon skriver upp telefonnumret till pizzerian och sätter fast det på kylskåpet. Alla i huset använder det numret tills lappen går ut (slängs). Då måste någon slå upp numret igen. Om pizzerian har bytt nummer under tiden upptäcks det nya numret först när den gamla lappen är borta.
Hur mäts TTL?
TTL mäts alltid i sekunder. Här är de vanligaste värdena och vad de motsvarar i verklig tid.
- 300 motsvarar 5 minuter
- 600 motsvarar 10 minuter
- 1800 motsvarar 30 minuter
- 3600 motsvarar 1 timme
- 14400 motsvarar 4 timmar
- 43200 motsvarar 12 timmar
- 86400 motsvarar 24 timmar
De flesta DNS-paneler visar TTL-fältet när du skapar eller redigerar en post. Vissa använder en rullgardinsmeny med färdiga alternativ som "1 timme" eller "automatiskt". Andra låter dig skriva in exakt antal sekunder.
Vad händer när TTL är hög?
En hög TTL betyder att DNS-servrar sparar din post i cache under lång tid. Om din TTL är 86400 (24 timmar) behåller varje DNS-server som slår upp din post svaret i ett helt dygn innan den kontrollerar igen.
Fördelen är färre DNS-uppslagningar. När tusentals besökare laddar din webbplats har deras DNS-resolvers redan svaret i cache. Det ger något snabbare sidladdningar och mindre belastning på DNS-infrastrukturen.
Nackdelen är att ändringar tar längre tid att spridas. Om du uppdaterar din A-post med en TTL på 24 timmar kan vissa besökare fortfarande se den gamla webbplatsen i upp till 24 timmar. Du byter snabba ändringar mot effektiva uppslagningar.
Vad händer när TTL är låg?
En låg TTL betyder att DNS-servrar uppdaterar din post oftare. Om din TTL är 300 (fem minuter) kastar servrarna det sparade svaret var femte minut och slår upp det igen.
Fördelen är att ändringar sprids snabbt. Om du uppdaterar en post med en TTL på fem minuter ser större delen av internet det nya värdet inom några minuter.
Nackdelen är fler DNS-förfrågningar. Varje gång cachen löper ut måste servern göra en ny uppslagning. För en webbplats med mycket trafik betyder det mer belastning på dina auktoritativa DNS-servrar. För de flesta små och medelstora varumärken märks skillnaden inte. Men det är onödigt att ha en permanent låg TTL när du inte gör några ändringar.
Vilken är en bra standard-TTL?
För de flesta DNS-poster är 3600 (en timme) en bra standard. Den balanserar två saker.
- Ändringar sprids inom en timme, vilket är snabbt nog för vanliga uppdateringar
- DNS-servrar behöver inte slå upp din post med några minuters mellanrum när ingenting har ändrats
Om dina DNS-poster sällan ändras (och för de flesta varumärken gör de inte det) kan du lugnt använda 3600 eller till och med 14400 (fyra timmar). Det enda tillfället du behöver en lägre TTL är när du vet att en ändring är på väg.
När bör du sänka din TTL?
Sänk din TTL innan du gör någon större DNS-ändring. Här är situationerna där en låg TTL sparar tid och huvudvärk.
- Byte av hostingleverantör och uppdatering av din A-post
- Flytt av din webbplats till en ny plattform
- Byte av e-postleverantör och uppdatering av MX-poster
- Att peka en domän mot en webbplats för första gången
- Uppsättning av ett system för reservdrift eller lastbalansering
I alla de här fallen vill du att ändringen ska slå igenom så snabbt som möjligt. En låg TTL gör det möjligt.
Så sänker du TTL före en flytt
Det finns en enkel strategi som erfarna DNS-administratörer använder före varje serverflytt. Den går i tre steg.
- 24 till 48 timmar före ändringen sänker du din TTL till 300 (fem minuter). Då hinner den gamla höga TTL löpa ut på alla DNS-servrar i världen. När du är redo att göra själva ändringen kontrollerar de flesta servrar var femte minut
- Gör DNS-ändringen. Uppdatera A-posten (eller den post du ändrar) till det nya värdet. Eftersom TTL redan är låg plockar DNS-servrar runt om i världen upp det nya värdet inom några minuter
- När ändringen är bekräftad och fungerar höjer du TTL tillbaka till 3600 eller din önskade standard. Då slipper du de ständiga uppslagningarna nu när ändringen är klar och den nya posten är stabil
Att hoppa över steg ett är det vanligaste misstaget. Om din TTL fortfarande är satt till 86400 när du gör ändringen fortsätter vissa DNS-servrar att leverera den gamla posten i upp till 24 timmar, eftersom deras cache inte har löpt ut än. Om du sänker TTL i förväg undviker du det.
Hur hänger TTL och DNS-spridning ihop?
DNS-spridning är processen då dina uppdaterade DNS-poster sprids till alla DNS-servrar runt om i världen. TTL är den viktigaste faktorn som styr hur lång tid den processen tar.
När folk säger "DNS-spridning kan ta upp till 48 timmar" betyder det att vissa DNS-servrar kan ha sparat din gamla post med en hög TTL, och de servrarna kontrollerar inte efter uppdateringar förrän deras timer har gått ut.
En låg TTL före en ändring ger snabbare spridning. En hög TTL ger långsammare spridning. Så direkt är sambandet. Siffran 48 timmar är ett värsta scenario för poster med en TTL på 24 timmar, eftersom vissa servrar kan ha sparat posten precis innan du gjorde ändringen och fortfarande har nästan ett helt dygn kvar på sin timer.
Vanliga TTL-misstag
Två misstag dyker upp oftare än andra när det gäller TTL.
Glömma att sänka TTL före en ändring. Det här är det stora misstaget. Du uppdaterar din A-post så att den pekar på en ny server, men din TTL var satt till 86400. Nu ser vissa besökare den nya webbplatsen och vissa den gamla, och du kan inte göra annat än att vänta. Sänk alltid TTL 24 till 48 timmar före DNS-ändringar.
Ha en permanent för låg TTL. En TTL på 60 sekunder betyder att varje DNS-server söker efter uppdateringar varje minut. Om dina poster inte ändras skapar det bara onödig DNS-trafik. Det kan också göra din webbplats något långsammare för förstagångsbesökare vars DNS-resolver oftare måste göra en ny uppslagning. Använd en låg TTL tillfälligt när ändringar är planerade och höj den sedan igen.
Så hanterar WEMASY TTL
När du ansluter en egen domän till din WEMASY-webbplats hanterar plattformen DNS-konfigurationen som en del av installationen. WEMASY ställer in rimliga TTL-standardvärden för de poster du behöver, så du behöver inte gissa vilka värden du ska använda.
Om du flyttar till WEMASY från en annan leverantör går guiden för domäninställning igenom hur du sänker din TTL innan du gör bytet, så att övergången går smidigt. WEMASY innehåller hosting, SSL och domänhantering i en prenumeration. Se vad som ingår i varje plan på sidan WEMASYs prissida.
Vad kommer härnäst?
Nu när du förstår vad TTL är och hur det styr hastigheten på DNS-ändringar handlar nästa kapitel om hur DNS-spridning fungerar. Du lär dig vad som händer i bakgrunden när en DNS-post uppdateras, varför spridningen inte är omedelbar och hur du kontrollerar om dina ändringar har spridits. För hela bilden av hur domännamnssystemet fungerar kan du gå tillbaka till kapitlet om hur DNS fungerar.
Vanliga frågor
Kan du ställa in olika TTL för varje DNS-post?
Ja. Varje DNS-post har ett eget TTL-fält. Du kan sätta din A-post till 3600 (en timme) och din MX-post till 14400 (fyra timmar) om det passar dina behov. Poster som ändras oftare kan ha en lägre TTL, medan stabila poster kan använda en högre. Med WEMASYs webbplatsbyggare kan du ställa in detta direkt på din webbplats.
Påverkar TTL hur snabbt webbplatsen laddas?
Inte direkt. TTL styr hur ofta DNS-servrar uppdaterar sin sparade kopia av dina DNS-poster. När en besökares enhet väl har slagit upp din domän till en IP-adress påverkar TTL inte hur snabbt dina sidor laddas. Skillnaden ligger bara i hur snabbt själva DNS-uppslagningen blir klar, vilket handlar om millisekunder, inte sekunder.
Vilken TTL ska du använda för e-postposter?
För MX-poster och TXT-poster som rör e-post (som SPF och DKIM) är en TTL på 3600 (en timme) en säker standard. Om du håller på att byta e-postleverantör sänker du TTL till 300 en eller två dagar före bytet och höjer den sedan igen när den nya konfigurationen är bekräftad.
Kan du tvinga DNS-servrar att rensa sin cache innan TTL har löpt ut?
Nej. Du kan inte tvinga externa DNS-servrar att släppa sina sparade poster. Varje server respekterar sin egen cachetimer. Det enda sättet att snabba upp processen är att ha satt en låg TTL innan ändringen gjordes. Vissa DNS-leverantörer erbjuder ett verktyg för att rensa cachen på sina egna servrar, men det påverkar inte alla servrar på internet.
Finns det ett lägsta TTL-värde som du bör använda?
Tekniskt sett kan du sätta TTL så lågt som 1 sekund, men de flesta DNS-leverantörer kräver ett minimum på 60 eller 300 sekunder. Att gå under 300 är sällan användbart. Även vid flyttar ger en TTL på fem minuter snabb spridning utan att överbelasta DNS-infrastrukturen.