Quanto tempo dovrebbe richiedere un lookup
Risolvere i problemi di risoluzione DNS lenta
La risoluzione DNS dovrebbe essere abbastanza veloce da risultare invisibile: in genere da pochi a poche decine di millisecondi per una risposta in cache, e raramente oltre qualche centinaio di millisecondi anche per un lookup completo senza cache. Quando è sensibilmente più lenta, di solito la causa è una tra poche cause specifiche e non una generica, misteriosa lentezza.
| Scenario | Tempo tipico | Vale la pena indagare oltre? |
|---|---|---|
| Risposta in cache, stessa rete | 1-10 ms | No: è il percorso veloce atteso |
| Non in cache, resolver anycast vicino | 20-80 ms | No: normale per un lookup a freddo |
| Non in cache, catena CNAME lunga | 100-300 ms | Forse: controlla la lunghezza della catena |
| Costantemente oltre 500 ms | 500 ms+ | Sì: qualcosa non va davvero |
I soliti sospetti
- Un resolver configurato male o sovraccarico: il resolver predefinito del tuo ISP in una giornata no è più comune di quanto si pensi, e passare a un'alternativa pubblica come 1.1.1.1 o 8.8.8.8 è un legittimo passaggio diagnostico, non un semplice ripiego.
- Una catena CNAME lunga: ogni salto che il resolver deve seguire prima di arrivare a un vero record A/AAAA aggiunge latenza, e una catena di quattro o cinque salti si fa sentire.
- Un TTL molto breve che impone frequenti lookup completi invece di rapide risposte in cache: utile per una propagazione veloce, ma costoso per la velocità media se impostato molto più breve del necessario.
- Problemi sul percorso di rete tra il tuo resolver e i server autorevoli che non c'entrano nulla con il software DNS: perdita di pacchetti, problemi di routing o distanza geografica da un nameserver privo di una presenza anycast vicina.
Isolare il DNS da tutto il resto
Il modo più affidabile per sapere se il DNS è davvero il tuo collo di bottiglia è misurare il lookup da solo, separatamente dal caricamento completo della pagina. Un lookup dedicato, cronometrato indipendentemente dall'apertura della connessione, dalla negoziazione TLS e dal download della risposta, ti dice esattamente quanta parte della latenza totale, se ce n'è, sia dovuta al DNS. Se un lookup torna costantemente in pochi millisecondi ma il sito continua a sembrare lento, il collo di bottiglia sta interamente a valle del DNS e ulteriori ritocchi al DNS non cambieranno le cose.
Vale la pena verificarlo prima di dare qualcosa per scontato: molte lamentele sul «sito lento» non hanno nulla a che fare con il server o con il codice del sito, e molte altre che sembrano un rallentamento generale sono in realtà specifiche del DNS e si risolvono con una modifica al TTL o al resolver.
Perché i resolver anycast sono di solito la scelta più veloce
Resolver pubblici come 1.1.1.1 e 8.8.8.8 di solito superano il resolver predefinito di un ISP non per un software più intelligente, ma grazie all'anycast: lo stesso indirizzo IP è annunciato da decine di sedi fisiche in tutto il mondo e il routing di rete invia automaticamente la tua query a quella topologicamente più vicina. Il resolver di un ISP, al contrario, è spesso un singolo data center (o pochi), il che può significare un tragitto di andata e ritorno sensibilmente più lungo a seconda di dove ti trovi rispetto a esso. È anche per questo che cambiare resolver è un legittimo primo passo di troubleshooting e non una superstizione: affronta una reale differenza di distanza e di routing, non è un semplice effetto placebo.
Quando è lento per tutti, non solo per te
Se un dominio si risolve lentamente da più reti e resolver diversi e non da uno solo, il problema si è con ogni probabilità spostato da «il tuo percorso verso un resolver» all'«infrastruttura autorevole del dominio stesso». Un unico nameserver autorevole non anycast a grande distanza di rete da buona parte dei suoi visitatori reali, un server autorevole sotto carico elevato o una zona DNS grande e lenta da trasferire possono manifestarsi tutti così. È un caso in cui un confronto in blocco tra più resolver è più diagnostico di un singolo lookup: una lentezza costante da ogni punto di osservazione indica a monte, nel provider DNS del dominio stesso, e non in una delle reti intermedie.
Devi controllare gli indirizzi DNS pubblici di un dominio? Usa lo strumento Domain IP Lookup.
Per approfondire
Tre motivi per cui lo stesso dominio risponde in modo diverso
Geo-routing
Un server edge diverso per regione
Caching
TTL indipendenti, cache indipendenti
Split-horizon
Una risposta diversa, di proposito
Perché un dominio si risolve in modo diverso su reti diverse
Vedere un IP diverso da casa rispetto all'ufficio o alla rete cellulare del telefono non è per forza un bug: ecco cosa succede davvero.
Quattro esiti, quattro passi successivi diversi
Timeout DNS o SERVFAIL: qual è la differenza?
Entrambi sembrano un lookup fallito, ma un timeout e un SERVFAIL indicano problemi diversi e richiedono passi successivi diversi.
Quattro esiti, quattro passi successivi diversi
NXDOMAIN spiegato: perché un dominio non si risolve
NXDOMAIN significa che per il DNS il dominio non esiste: non un timeout, non un problema del server. Ecco cosa lo causa davvero.