Κάθε φορά που κάποιος επισκέπτεται το site σου, ο browser του πρέπει πρώτα να μάθει σε ποια IP αντιστοιχεί το domain. Αυτή η πληροφορία δεν ζητιέται από την αρχή κάθε φορά — αποθηκεύεται προσωρινά. Το πόσο καιρό μένει αποθηκευμένη το καθορίζει το TTL, το Time To Live κάθε DNS record.
Τι ακριβώς κάνει το TTL
Κάθε εγγραφή σε ένα DNS zone — A record, CNAME, MX, TXT — έχει μια τιμή TTL σε δευτερόλεπτα. Λέει στους DNS resolvers (του ISP, της Google, της Cloudflare κ.λπ.) «κράτα αυτή την απάντηση στη μνήμη σου για τόσα δευτερόλεπτα πριν ξαναρωτήσεις». Ένα TTL 3600 σημαίνει μία ώρα cache, ένα TTL 86400 σημαίνει μία ολόκληρη ημέρα.
Το όφελος είναι ταχύτητα: λιγότερα DNS queries, γρηγορότερη απόκριση για τον επισκέπτη. Το κόστος είναι ότι όσο μεγαλύτερο το TTL, τόσο περισσότερο θα χρειαστεί μέχρι μια αλλαγή να φανεί παντού.
Γιατί δεν αλλάζει αμέσως μια εγγραφή
Όταν αλλάζεις μια IP ή ένα MX record στο Zone Editor του cPanel, η αλλαγή γίνεται άμεσα στον δικό σου DNS server. Αυτό δεν σημαίνει ότι όλος ο κόσμος τη βλέπει αμέσως. Κάθε resolver που είχε ήδη «κρατήσει» την παλιά τιμή θα συνεχίσει να τη χρησιμοποιεί μέχρι να λήξει το TTL που είχε δει την τελευταία φορά.
Αυτό εξηγεί ένα κλασικό φαινόμενο: αλλάζεις nameservers ή IP, και κάποιοι βλέπουν το νέο site αμέσως ενώ άλλοι βλέπουν το παλιό για ώρες. Δεν είναι σφάλμα — είναι διαφορετικοί resolvers με διαφορετικό cache. Αν μόλις έκανες τέτοια αλλαγή, δες πώς λειτουργεί η αλλαγή nameservers στον καταχωρητή για να καταλάβεις τι ρυθμίζεται πού.
Πότε αξίζει να χαμηλώσεις το TTL
Η πρακτική τακτική είναι απλή: αν ξέρεις εκ των προτέρων ότι θα κάνεις μια κρίσιμη αλλαγή — μεταφορά site σε νέο server, αλλαγή IP, αλλαγή MX για το email — χαμήλωσε το TTL της συγκεκριμένης εγγραφής μερικές ώρες ή μία μέρα πριν. Ένα TTL στα 300 δευτερόλεπτα (5 λεπτά) σημαίνει ότι, όταν κάνεις τελικά την αλλαγή, οι περισσότεροι resolvers θα δουν τη νέα τιμή μέσα σε λίγα λεπτά αντί για ώρες.
Μετά την ολοκλήρωση της αλλαγής, μπορείς να επαναφέρεις το TTL σε μια πιο συνηθισμένη τιμή, όπως 3600 ή 14400, ώστε να μην επιβαρύνεις άσκοπα τους resolvers με συνεχή queries.
Χαμήλωσε το TTL πριν την αλλαγή, όχι την ίδια στιγμή. Αν το χαμηλώσεις τη στιγμή που κάνεις και την αλλαγή, το παλιό TTL (π.χ. 24 ώρες) έχει ήδη «κλειδώσει» σε πολλούς resolvers.
Παράδειγμα σε MX record
Αν αλλάζεις πάροχο email και το MX record δείχνει πλέον αλλού, ένα υψηλό TTL σημαίνει ότι κάποια μηνύματα θα συνεχίσουν να δρομολογούνται στον παλιό server για ώρες μετά την αλλαγή. Για τη λογική πίσω από τη σωστή δρομολόγηση email δες το άρθρο για τα MX records και email routing. Αν παράλληλα αλλάζεις και πάροχο, φρόντισε να ελέγξεις και το SPF σου ώστε να μην καταλήξουν τα email σου σε spam — δες πώς να ρυθμίσεις σωστά το SPF record σου.
Δύο συνηθισμένες παρανοήσεις
Η πρώτη παρανόηση είναι ότι το TTL του registrar (του καταχωρητή domain) είναι το ίδιο με το TTL των εγγραφών μέσα στο DNS zone. Δεν είναι. Το πρώτο αφορά πόσο συχνά ελέγχεται ποιοι nameservers χρησιμοποιεί το domain σου συνολικά· το δεύτερο αφορά κάθε μεμονωμένη εγγραφή (A, MX, TXT) μέσα στο zone αυτών των nameservers. Για να δεις πού ρυθμίζεται το ένα και πού το άλλο, χρήσιμη αναφορά είναι το άρθρο για τους nameservers.
Η δεύτερη παρανόηση είναι ότι μηδενικό ή πολύ χαμηλό TTL σημαίνει «άμεση» αλλαγή παντού. Στην πράξη, πολλοί ISP και δημόσιοι resolvers αγνοούν πολύ μικρές τιμές TTL και εφαρμόζουν ένα δικό τους ελάχιστο cache, συνήθως γύρω στα λίγα λεπτά, ανεξάρτητα από το τι έχεις ορίσει εσύ. Άρα ένα TTL 60 δεν εγγυάται στιγμιαία διάδοση — απλώς μειώνει σημαντικά τον μέσο χρόνο αναμονής.
Πότε καλύτερα να μην το πειράξεις
Αν δεν πρόκειται να κάνεις καμία αλλαγή στο άμεσο μέλλον, δεν υπάρχει λόγος να κρατάς μόνιμα χαμηλό TTL. Ένα μόνιμα χαμηλό TTL σημαίνει περισσότερα DNS queries συνεχώς, χωρίς αντίστοιχο όφελος — απλώς πιο συχνό «ρώτημα» για μια απάντηση που δεν αλλάζει. Η καλή πρακτική είναι να κρατάς μέτρια-υψηλά TTL (μερικές ώρες) σε καθημερινή βάση, και να τα χαμηλώνεις στοχευμένα μόνο γύρω από προγραμματισμένες αλλαγές.
Συμπέρασμα
Το TTL δεν είναι μια ρύθμιση «βάλε το χαμηλά και ξέχνα το». Είναι ένα εργαλείο χρονισμού που χρησιμοποιείς στοχευμένα, λίγο πριν από μια αλλαγή που σε νοιάζει να φανεί γρήγορα παντού. Αν το θυμηθείς μία μέρα πριν, γλιτώνεις ώρες αναμονής και μπερδεμένους επισκέπτες που βλέπουν άλλο site από αυτό που περίμεναν.


