Τι είναι το TTL στο DNS;

Μόλις ενημέρωσες μια εγγραφή DNS, γιατί λοιπόν η ιστοσελίδα σου δείχνει ακόμα την παλιά εκδοχή; Αυτή η καθυστέρηση έχει να κάνει με το τι είναι το TTL στο DNS και πώς δουλεύει. Το TTL σημαίνει time to live (χρόνος ζωής) και ελέγχει για πόση ώρα οι servers σε…

Πρόχειρο

Φαντάσου το εξής. Μόλις άλλαξες πάροχο φιλοξενίας και ενημέρωσες την εγγραφή A ώστε να δείχνει στον νέο server. Ανανεώνεις την ιστοσελίδα σου και τίποτα δεν έχει αλλάξει. Φορτώνει ακόμα η παλιά ιστοσελίδα. Ελέγχεις τον πίνακα DNS και η νέα εγγραφή είναι αποθηκευμένη. Τι συμβαίνει λοιπόν;

Η απάντηση είναι το TTL. Όταν ορίζεις μια εγγραφή DNS, ορίζεις και μια τιμή TTL που λέει σε κάθε server DNS στο διαδίκτυο για πόση ώρα μπορεί να κρατά ένα αντίγραφο της εγγραφής στη cache. Μέχρι να τελειώσει αυτό το χρονόμετρο, οι servers θα συνεχίσουν να σερβίρουν τις παλιές πληροφορίες, ακόμα και αφού έκανες την αλλαγή. Το να καταλάβεις πώς δουλεύει το DNS ξεκινά από το να καταλάβεις το TTL, γιατί ελέγχει την ταχύτητα κάθε αλλαγής DNS που κάνεις.

Τι σημαίνει TTL;

Το TTL σημαίνει time to live. Στο πλαίσιο του DNS, είναι ένας αριθμός που συνοδεύει κάθε εγγραφή DNS και λέει στους servers πόσα δευτερόλεπτα επιτρέπεται να κρατούν την εγγραφή στη cache πριν χρειαστεί να ξαναπάνε να ελέγξουν για νέο αντίγραφο.

Κάθε εγγραφή DNS που δημιουργείς έχει τιμή TTL. Όλοι οι τύποι εγγραφών DNS τη χρησιμοποιούν. Εγγραφές A, CNAME, MX, TXT. Καθεμία έχει τη δική της ρύθμιση TTL και καθεμία μπορεί να οριστεί σε διαφορετική τιμή, ανάλογα με το πόσο συχνά περιμένεις να αλλάζει.

Πώς δουλεύει το TTL με απλά λόγια;

Όταν κάποιος γράφει το domain σου στον browser, η συσκευή του ρωτά έναν server DNS για τη διεύθυνση IP της ιστοσελίδας σου. Ο server DNS ψάχνει την εγγραφή A και παίρνει την απάντηση. Διαβάζει όμως και την τιμή TTL που συνοδεύει την εγγραφή.

Αν το TTL σου είναι 3600, ο server DNS αποθηκεύει την απάντηση για 3.600 δευτερόλεπτα (μία ώρα). Για την επόμενη ώρα, όποιος ρωτά τον ίδιο server DNS για το domain σου παίρνει την απάντηση από τη cache. Ο server δεν ελέγχει ξανά μέχρι να λήξει το χρονόμετρο.

Μόλις τελειώσει το TTL, το επόμενο αίτημα προκαλεί νέα αναζήτηση. Ο server DNS πηγαίνει ξανά στην πηγή, παίρνει την τρέχουσα εγγραφή, διαβάζει τη νέα τιμή TTL και ξεκινά πάλι την αντίστροφη μέτρηση.

Φαντάσου ένα αυτοκόλλητο σημείωμα στο ψυγείο. Κάποιος γράφει τον αριθμό της πιτσαρίας και τον κολλά στο ψυγείο. Όλοι στο σπίτι χρησιμοποιούν αυτόν τον αριθμό μέχρι να λήξει το σημείωμα (να πεταχτεί). Μετά κάποιος πρέπει να ψάξει ξανά τον αριθμό. Αν η πιτσαρία άλλαξε τον αριθμό της στο μεταξύ, ο νέος αριθμός θα πιαστεί μόνο αφού φύγει το παλιό σημείωμα.

Πώς μετριέται το TTL;

Το TTL μετριέται πάντα σε δευτερόλεπτα. Δες τις πιο συνηθισμένες τιμές και τι σημαίνουν σε πραγματικό χρόνο.

  • 300 ίσον 5 λεπτά
  • 600 ίσον 10 λεπτά
  • 1800 ίσον 30 λεπτά
  • 3600 ίσον 1 ώρα
  • 14400 ίσον 4 ώρες
  • 43200 ίσον 12 ώρες
  • 86400 ίσον 24 ώρες

Οι περισσότεροι πίνακες DNS δείχνουν το πεδίο TTL όταν δημιουργείς ή επεξεργάζεσαι μια εγγραφή. Κάποιοι χρησιμοποιούν αναπτυσσόμενο μενού με προκαθορισμένες επιλογές όπως "1 ώρα" ή "αυτόματο". Άλλοι σε αφήνουν να γράψεις τον ακριβή αριθμό δευτερολέπτων.

Τι συμβαίνει όταν το TTL είναι υψηλό;

Ένα υψηλό TTL σημαίνει ότι οι servers DNS κρατούν την εγγραφή σου στη cache για πολλή ώρα. Αν το TTL σου είναι 86400 (24 ώρες), κάθε server DNS που ψάχνει την εγγραφή σου θα κρατήσει αυτή την απάντηση για μία ολόκληρη μέρα πριν ελέγξει ξανά.

Το όφελος είναι λιγότερες αναζητήσεις DNS. Όταν χιλιάδες επισκέπτες φορτώνουν την ιστοσελίδα σου, οι resolvers DNS τους έχουν ήδη την απάντηση στη cache. Αυτό σημαίνει λίγο ταχύτερη φόρτωση σελίδων και λιγότερη πίεση στην υποδομή DNS.

Το μειονέκτημα είναι ότι οι αλλαγές αργούν περισσότερο να απλωθούν. Αν ενημερώσεις την εγγραφή A με TTL 24 ωρών, κάποιοι επισκέπτες μπορεί να βλέπουν ακόμα την παλιά ιστοσελίδα για έως 24 ώρες. Ανταλλάσσεις ταχύτητα αλλαγών με αποδοτικότητα αναζητήσεων.

Τι συμβαίνει όταν το TTL είναι χαμηλό;

Ένα χαμηλό TTL σημαίνει ότι οι servers DNS ανανεώνουν την εγγραφή σου πιο συχνά. Αν το TTL σου είναι 300 (πέντε λεπτά), οι servers πετούν την απάντηση της cache κάθε πέντε λεπτά και την ψάχνουν ξανά.

Το όφελος είναι ότι οι αλλαγές απλώνονται γρήγορα. Αν ενημερώσεις μια εγγραφή με TTL πέντε λεπτών, το μεγαλύτερο μέρος του διαδικτύου βλέπει τη νέα τιμή μέσα σε λίγα λεπτά.

Το μειονέκτημα είναι περισσότερα ερωτήματα DNS. Κάθε φορά που λήγει η cache, ο server πρέπει να κάνει νέα αναζήτηση. Για ιστοσελίδα με μεγάλη κίνηση, αυτό σημαίνει περισσότερο φορτίο στους έγκυρους servers DNS σου. Για τις περισσότερες μικρές και μεσαίες επιχειρήσεις, η διαφορά δεν γίνεται αισθητή. Το να κρατάς όμως μόνιμα χαμηλό TTL όταν δεν κάνεις αλλαγές είναι περιττό.

Ποιο είναι ένα καλό προεπιλεγμένο TTL;

Για τις περισσότερες εγγραφές DNS, το 3600 (μία ώρα) είναι μια στέρεα προεπιλογή. Βρίσκει ισορροπία ανάμεσα σε δύο πράγματα.

  • Οι αλλαγές διαδίδονται μέσα σε μία ώρα, που είναι αρκετά γρήγορο για τις συνηθισμένες ενημερώσεις
  • Οι servers DNS δεν χρειάζεται να ψάχνουν την εγγραφή σου κάθε λίγα λεπτά όταν δεν έχει αλλάξει τίποτα

Αν οι εγγραφές DNS σου αλλάζουν σπάνια (και για τις περισσότερες επιχειρήσεις δεν αλλάζουν), μπορείς άφοβα να χρησιμοποιήσεις 3600 ή και 14400 (τέσσερις ώρες). Η μόνη φορά που χρειάζεσαι χαμηλότερο TTL είναι όταν ξέρεις ότι έρχεται μια αλλαγή.

Πότε πρέπει να μειώσεις το TTL;

Μείωσε το TTL πριν από κάθε μεγάλη αλλαγή DNS. Αυτές είναι οι περιπτώσεις όπου ένα χαμηλό TTL σου γλιτώνει χρόνο και προβλήματα.

  • Αλλαγή παρόχου φιλοξενίας και ενημέρωση της εγγραφής A
  • Μετακίνηση της ιστοσελίδας σου σε νέα πλατφόρμα
  • Αλλαγή παρόχου email και ενημέρωση εγγραφών MX
  • Σύνδεση ενός domain με ιστοσελίδα για πρώτη φορά
  • Ρύθμιση συστήματος failover ή κατανομής φορτίου

Σε κάθε μία από αυτές τις περιπτώσεις, θέλεις η αλλαγή να ισχύσει όσο πιο γρήγορα γίνεται. Ένα χαμηλό TTL το κάνει δυνατό.

Πώς μειώνεις το TTL πριν από μια μετακίνηση

Υπάρχει μια απλή στρατηγική που χρησιμοποιούν οι έμπειροι διαχειριστές DNS πριν από κάθε μετακίνηση server. Δουλεύει σε τρία βήματα.

  1. 24 έως 48 ώρες πριν από την αλλαγή, μείωσε το TTL σε 300 (πέντε λεπτά). Έτσι δίνεις χρόνο στο παλιό υψηλό TTL να λήξει σε όλους τους servers DNS παγκοσμίως. Όταν θα είσαι έτοιμος να κάνεις την πραγματική αλλαγή, οι περισσότεροι servers θα ελέγχουν κάθε πέντε λεπτά
  2. Κάνε την αλλαγή DNS. Ενημέρωσε την εγγραφή A (ή όποια εγγραφή αλλάζεις) με τη νέα τιμή. Επειδή το TTL είναι ήδη χαμηλό, οι servers DNS σε όλο τον κόσμο παίρνουν τη νέα τιμή μέσα σε λίγα λεπτά
  3. Αφού επιβεβαιωθεί ότι η αλλαγή δουλεύει, ανέβασε ξανά το TTL στο 3600 ή στην προεπιλογή που προτιμάς. Έτσι σταματούν οι συνεχείς αναζητήσεις, τώρα που η αλλαγή έγινε και η νέα εγγραφή είναι σταθερή

Η παράλειψη του πρώτου βήματος είναι το πιο συνηθισμένο λάθος. Αν το TTL σου είναι ακόμα 86400 όταν κάνεις την αλλαγή, κάποιοι servers DNS θα σερβίρουν την παλιά εγγραφή για έως 24 ώρες, γιατί η cache τους δεν έχει λήξει ακόμα. Αν μειώσεις το TTL από πριν, το αποφεύγεις.

Πώς συνδέονται το TTL και η διάδοση DNS;

Η διάδοση DNS είναι η διαδικασία με την οποία οι ενημερωμένες εγγραφές DNS σου απλώνονται σε όλους τους servers DNS στον κόσμο. Το TTL είναι ο βασικός παράγοντας που ελέγχει πόσο διαρκεί αυτή η διαδικασία.

Όταν οι άνθρωποι λένε "η διάδοση DNS μπορεί να πάρει έως 48 ώρες", εννοούν ότι κάποιοι servers DNS μπορεί να έχουν κρατήσει στη cache την παλιά εγγραφή με υψηλό TTL και αυτοί οι servers δεν θα ελέγξουν για ενημερώσεις μέχρι να λήξει το χρονόμετρό τους.

Ένα χαμηλό TTL πριν από μια αλλαγή σημαίνει ταχύτερη διάδοση. Ένα υψηλό TTL σημαίνει πιο αργή διάδοση. Τόσο άμεσο είναι. Οι 48 ώρες είναι το χειρότερο σενάριο για εγγραφές με TTL 24 ωρών, γιατί κάποιοι servers μπορεί να κράτησαν την εγγραφή ακριβώς πριν κάνεις την αλλαγή και να έχουν ακόμα σχεδόν μία ολόκληρη μέρα στο χρονόμετρό τους.

Συνηθισμένα λάθη με το TTL

Δύο λάθη εμφανίζονται πιο συχνά από όλα όταν πρόκειται για το TTL.

Ξεχνάς να μειώσεις το TTL πριν από μια αλλαγή. Αυτό είναι το μεγάλο. Ενημερώνεις την εγγραφή A ώστε να δείχνει σε νέο server, αλλά το TTL ήταν 86400. Τώρα κάποιοι επισκέπτες βλέπουν τη νέα ιστοσελίδα και κάποιοι την παλιά και δεν έχεις άλλη επιλογή από το να περιμένεις. Μείωνε πάντα το TTL 24 έως 48 ώρες πριν κάνεις αλλαγές DNS.

Ορίζεις το TTL πολύ χαμηλό μόνιμα. Ένα TTL 60 δευτερολέπτων σημαίνει ότι κάθε server DNS ελέγχει για ενημερώσεις κάθε λεπτό. Αν οι εγγραφές σου δεν αλλάζουν, αυτό απλώς δημιουργεί περιττή κίνηση DNS. Μπορεί επίσης να κάνει την ιστοσελίδα σου λίγο πιο αργή για νέους επισκέπτες, των οποίων ο resolver DNS πρέπει να κάνει νέα αναζήτηση πιο συχνά. Χρησιμοποίησε χαμηλό TTL προσωρινά όταν έχεις προγραμματισμένες αλλαγές και μετά ανέβασέ το ξανά.

Το WEMASY και το TTL

Μπορείς να συνδέσεις το δικό σου domain με ένα πακέτο επί πληρωμή του WEMASY.

Δες τι περιλαμβάνει κάθε πακέτο στη σελίδα WEMASY pricing.

Τι ακολουθεί

Τώρα που καταλαβαίνεις τι είναι το TTL και πώς ελέγχει την ταχύτητα των αλλαγών DNS, το επόμενο κεφάλαιο καλύπτει πώς δουλεύει η διάδοση DNS. Θα μάθεις τι γίνεται στο παρασκήνιο όταν ενημερώνεται μια εγγραφή DNS, γιατί η διάδοση δεν είναι στιγμιαία και πώς ελέγχεις αν απλώθηκαν οι αλλαγές σου. Για ολόκληρη την εικόνα του πώς λειτουργεί το σύστημα ονομάτων domain, ξαναδές το κεφάλαιο για το πώς δουλεύει το DNS.

Συχνές ερωτήσεις

Μπορείς να ορίσεις διαφορετικό TTL για κάθε εγγραφή DNS;

Ναι. Κάθε εγγραφή DNS έχει δικό της πεδίο TTL. Μπορείς να ορίσεις την εγγραφή A στο 3600 (μία ώρα) και την εγγραφή MX στο 14400 (τέσσερις ώρες), αν σου ταιριάζει. Οι εγγραφές που αλλάζουν πιο συχνά μπορούν να έχουν χαμηλότερο TTL, ενώ οι σταθερές μπορούν να έχουν υψηλότερο. Ο Δημιουργός ιστοσελίδων του WEMASY σου επιτρέπει να φτιάξεις τις δικές σου σελίδες στην ιστοσελίδα σου.

Επηρεάζει το TTL την ταχύτητα φόρτωσης της ιστοσελίδας;

Όχι άμεσα. Το TTL ελέγχει πόσο συχνά οι servers DNS ανανεώνουν το αντίγραφο των εγγραφών DNS σου στη cache. Μόλις η συσκευή ενός επισκέπτη επιλύσει το domain σου σε διεύθυνση IP, το TTL δεν επηρεάζει πόσο γρήγορα φορτώνουν οι σελίδες σου. Η διαφορά είναι μόνο στο πόσο γρήγορα ολοκληρώνεται η ίδια η αναζήτηση DNS, που προσθέτει χιλιοστά του δευτερολέπτου, όχι δευτερόλεπτα.

Ποιο TTL πρέπει να χρησιμοποιείς για τις εγγραφές email;

Για τις εγγραφές MX και τις εγγραφές TXT που αφορούν το email (όπως SPF και DKIM), ένα TTL 3600 (μία ώρα) είναι ασφαλής προεπιλογή. Αν πρόκειται να αλλάξεις πάροχο email, μείωσε το TTL στο 300 μία ή δύο μέρες πριν από την αλλαγή και ανέβασέ το ξανά όταν επιβεβαιωθεί η νέα ρύθμιση.

Μπορείς να αναγκάσεις τους servers DNS να καθαρίσουν τη cache τους πριν λήξει το TTL;

Όχι. Δεν μπορείς να αναγκάσεις εξωτερικούς servers DNS να πετάξουν τις εγγραφές που έχουν στη cache. Κάθε server σέβεται το δικό του χρονόμετρο cache. Ο μόνος τρόπος να επιταχύνεις τη διαδικασία είναι να έχεις ορίσει χαμηλό TTL πριν γίνει η αλλαγή. Κάποιοι πάροχοι DNS προσφέρουν εργαλείο καθαρισμού cache για τους δικούς τους servers, αλλά αυτό δεν επηρεάζει κάθε server στο διαδίκτυο.

Υπάρχει ελάχιστη τιμή TTL που πρέπει να χρησιμοποιείς;

Τεχνικά μπορείς να ορίσεις TTL τόσο χαμηλό όσο 1 δευτερόλεπτο, αλλά οι περισσότεροι πάροχοι DNS επιβάλλουν ελάχιστο 60 ή 300 δευτερόλεπτα. Το να πας κάτω από 300 σπάνια έχει χρησιμότητα. Ακόμα και στις μετακινήσεις, ένα TTL πέντε λεπτών σού δίνει γρήγορη διάδοση χωρίς να φορτώνει υπερβολικά την υποδομή DNS.

Βάλ’ το αμέσως σε εφαρμογή
στη δική σου ιστοσελίδα.

Ξεκίνα δωρεάν με το WEMASY και φτιάξε τη σελίδα σου σε λίγα λεπτά.