Uno dei dubbi, che sorge spesso ai miei clienti, mentre eseguo con loro la configurazione degli MX Records per le Google Apps riguarda il TTL (Time to Live).
Si tratta di un argomento molto specifico, ma con delle ripercussioni molto importanti, utile da conoscere per chi lavora con i server di posta e/o i siti internet. Molti configurano i records DNS senza dare molto peso a questo parametro oppure non avendolo capito a fondo. In questo articolo viene spiegato il significato di un TTL, e vengono anche dati dei suggerimenti pratici sui valori da impostare in funzione dei vari contesti.
Che cosa è un TTL?
Ogni riga, cioè ogni records DNS, ha un suo specifico TTL (Time to Live) che indica per quanto tempo un resolver deve memorizzare nella cache lo specifico valore prima che la query scada ed una nuova debba esserne eseguita. Un resolver è un server DNS che risolve, cioè trasforma, un nome in un indirizzo ip, per esempio google.it in 216.58.212.99, operazione quest’ultima indispensabile perchè internet funzioni.
Senza il TTL non potrebbe stare in piedi l’intero meccanismo dei server DNS e la relativa propagazione valori ! Ogni server DNS considera valido un records DNS finché non scade, finchè non è trascorso il suo “Time To Live”: questo meccanismo viene chiamato caching.
I vantaggi del caching sono abbastanza evidenti: è pressoché istantaneo recuperare il valore di un records dalla cache del resolver locale piuttosto che dover cercare attraverso la rete il valore aggiornato su un DNS remoto. Valori alti di TTL quindi accelerano l’esperienza internet, riducendo i tempi necessari per completare ricerche DNS e aiutano a ridurre il carico sui server DNS di tutto il mondo.Per capire quanto appena detto è importante ricordare che nel momento in cui un record DNS viene memorizzato nella cache, esso non verrà aggiornato, sarà quindi considerato valido, finché non sarà scaduto.
Nel caso in cui dovessimo avere la necessità di modificare uno o più records DNS dobbiamo sapere che in giro per il mondo vi sono server DNS che stanno mantenendo in cache il valore, senza aggiornarsi per tutta la durata del TTL. Quindi il lato negativo di TTL troppo elevati lo si nota nelle operazioni di modifica dei records DNS!
Si sente spesso dire la frase “sono in attesa che la modifica si propaghi sui server DNS, e potrebbe volerci qualche ora”, per la verità posso benissimo sapere quale sarà il massimo tempo di propagazione perché questo corrisponde esattamente al valore del TTL. Attendere la propagazione significa cioè attendere che i record DNS in cache scadano su tutti i server. Se ad esempio il TTL era di 1 giorno significa che ci vorrà al massimo un giorno intero prima di avere la certezza matematica che la modifica sia effettivamente recepita in tutto il mondo.
Consigli pratici di impostazione dei valori di TTL?
Per configurare correttamente i TTL Dobbiamo trovare l’equilibrio ideale tra il vantaggio di poter propagare eventuali modifiche rapidamente e quello di poter sfruttare al massimo le prestazioni del caching. I records DNS non si cambiano spesso quindi non precipitiamoci a tenere questi valori troppo bassi! Tenete anche presente che solitamente sappiamo in anticipo che potrebbe sopraggiungere la necessità di modificare un records DNS e in questo caso sappiate che potreste come prima cosa modificare tutti i TTL dei records che dovranno essere modificati, senza modificare i records stessi. In questo modo mi preparo ad un cambio veloce avendo abbassato il TTL in anticipo. Ovviamente quest’ultima pratica non è sempre possibile quindi vediamo di seguito dei valori mediamente ottimali per le varie situazioni:
– Valore minimo per records veramente critici con cambi frequenti: 60 secondi !
– Valore massimo per records stabili: 1 giorno , cioè 86400 secondi ! ( oltre il giorno i benefici di caching non sono più’ percettibili )
– record A o AAAA: 1 ora
– Record CNAME: 1 giorno
– Record MX: dalle 4 ore ad 1 giorno
– TXT Records: 1 giorno
I valori qui riportati sono a mio avviso un’ottimo compromesso, ma ora che sapete esattamente come funziona a voi la scelta del vostro TTL.
Massimiliano Brambilla
Google Top Contributor