Cache DNS : Optimisation et Performances
Maîtrisez le cache DNS pour accélérer vos résolutions et réduire la charge de vos serveurs.
Le cache DNS est l'un des mécanismes les plus fondamentaux d'Internet, pourtant il reste méconnu de nombreux administrateurs. À chaque requête de nom de domaine, le système DNS parcourt une hiérarchie complexe pour trouver l'adresse IP correspondante. Sans mise en cache, chaque visite d'un site web déclencherait des dizaines de requêtes vers les serveurs racine et autoritaires, créant une latence insupportable et une charge monumentale sur l'infrastructure DNS mondiale.
Le cache DNS fonctionne à plusieurs niveaux : navigateur, système d'exploitation, routeur local, et résolveur du FAI. Chaque niveau conserve les réponses précédentes pendant une durée définie par le TTL (Time To Live). Cette mise en cache hiérarchique réduit drastiquement les temps de réponse - une résolution cached prend quelques millisecondes au lieu des 100-200ms d'une résolution complète.
Comprendre le cache DNS est essentiel pour le monitoring efficace. Un changement de DNS non propagé, un TTL mal configuré, ou un cache corrompu peuvent expliquer pourquoi certains utilisateurs voient une ancienne IP alors que d'autres accèdent à la nouvelle. MoniTao surveille vos enregistrements depuis de multiples emplacements géographiques pour détecter ces incohérences de cache.
Comprendre le Cache DNS
Le cache DNS stocke temporairement les résolutions pour éviter de répéter les mêmes requêtes :
- Cache navigateur : Votre navigateur maintient son propre cache DNS (environ 60 secondes par défaut sur Chrome). C'est le premier niveau vérifié avant toute résolution.
- Cache système : Le système d'exploitation (Windows DNS Client, systemd-resolved sur Linux) maintient un cache local partagé par toutes les applications.
- Cache routeur : Les routeurs et box internet cachent souvent les résolutions pour tous les appareils du réseau local.
- Cache résolveur : Les résolveurs DNS du FAI ou publics (8.8.8.8, 1.1.1.1) maintiennent d'énormes caches servant des millions d'utilisateurs.
L'Impact du Cache sur les Performances
Le cache DNS a un impact majeur sur l'expérience utilisateur et la stabilité :
- Réduction de la latence : Une résolution depuis le cache prend 1-5ms contre 50-200ms pour une résolution complète. Sur les pages web modernes avec des dizaines de domaines, le cache économise des secondes.
- Réduction de la charge : Les serveurs DNS autoritaires reçoivent beaucoup moins de requêtes grâce au cache. Un TTL de 1 heure signifie qu'un utilisateur ne sollicite le serveur autoritaire qu'une fois par heure maximum.
- Résilience : Si le serveur autoritaire tombe en panne, les caches continuent de servir la réponse précédente jusqu'à expiration du TTL. Un long TTL offre plus de protection.
- Propagation des changements : Le cache explique pourquoi les changements DNS ne sont pas instantanés. Tous les caches doivent expirer avant que 100% des utilisateurs voient la nouvelle IP.
Configuration et Optimisation du Cache
Suivez ces étapes pour optimiser votre stratégie de cache DNS :
- Analysez vos besoins : Un site avec une IP stable peut avoir un TTL de 24-48h. Un service nécessitant des basculements rapides devrait rester à 300-600 secondes.
- Configurez le TTL approprié : Ajustez le TTL de vos enregistrements selon l'équilibre souhaité entre performance (long TTL) et flexibilité (court TTL).
- Planifiez les migrations : Avant un changement d'IP, réduisez le TTL à 5 minutes 24-48h à l'avance. Après la migration, remontez-le progressivement.
- Surveillez les anomalies : Utilisez MoniTao pour vérifier que vos enregistrements sont cohérents depuis différentes régions et détecter les caches corrompus.
Commandes de Gestion du Cache
Voici les commandes pour inspecter et vider le cache DNS :
; Vider le cache DNS Windows
ipconfig /flushdns
; Vider le cache DNS macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
; Vider le cache DNS Linux (systemd-resolved)
sudo systemd-resolve --flush-caches
resolvectl statistics ; voir les stats
; Vider le cache Chrome (dans la barre d'adresse)
chrome://net-internals/#dns -> Clear host cache
; Vérifier le TTL restant avec dig
dig example.com +noall +answer
; Le TTL affiché = temps restant avant expiration du cache
; Voir le cache du résolveur local
resolvectl query example.com
Après avoir vidé le cache, la prochaine requête DNS effectuera une résolution complète. Utile pour forcer la prise en compte d'un changement DNS ou déboguer des problèmes de résolution.
Bonnes Pratiques de Cache DNS
Optimisez votre stratégie de cache :
- TTL adapté au contenu : Enregistrements statiques (MX, NS) : 24-86400s. Services avec failover : 300-600s. Pendant une migration : 60-300s.
- Anticiper les changements : Réduisez le TTL avant tout changement majeur. Attendez au moins 2x l'ancien TTL avant de modifier l'IP.
- Éviter les TTL extrêmes : TTL < 60s surcharge les serveurs autoritaires. TTL > 1 semaine empêche les corrections rapides. Restez entre 5 minutes et 24 heures.
- Tester depuis plusieurs points : Le cache varie selon le résolveur. Un utilisateur avec le cache de son FAI peut voir une IP différente de vous. Testez avec MoniTao.
Checklist Cache DNS
- TTL défini consciemment sur chaque enregistrement
- Équilibre performance/flexibilité approprié
- Procédure de réduction du TTL avant changements
- Monitoring depuis multiples localisations
- Documentation des TTL standards de votre zone
- Tests de propagation après changements critiques
FAQ - Cache DNS
Combien de temps dure le cache DNS ?
Le cache respecte le TTL défini dans l'enregistrement, de quelques secondes à plusieurs jours. Chaque niveau de cache (navigateur, OS, résolveur) peut avoir ses propres limites.
Pourquoi certains utilisateurs voient l'ancienne IP ?
Leur cache local ou leur résolveur FAI n'a pas encore expiré. Attendez le TTL complet ou demandez-leur de vider leur cache DNS.
Comment forcer un rafraîchissement du cache ?
Vous ne pouvez forcer que votre propre cache local. Les caches des utilisateurs et des résolveurs FAI expireront naturellement selon le TTL.
Un TTL court est-il toujours mieux ?
Non. Les TTL courts augmentent la charge serveur, la latence moyenne, et réduisent la résilience si le serveur autoritaire tombe.
Le cache peut-il être empoisonné ?
Oui, c'est une attaque connue (DNS cache poisoning). DNSSEC et les résolveurs modernes avec randomisation des ports protègent contre cela.
MoniTao gère-t-il les problèmes de cache ?
MoniTao surveille depuis de multiples localisations avec des caches différents, vous permettant de détecter quand certaines régions voient des données obsolètes.
Maîtrisez Votre Stratégie de Cache
Le cache DNS est un double tranchant : il améliore drastiquement les performances mais ralentit la propagation des changements. Une bonne stratégie de TTL équilibre ces deux aspects selon vos besoins.
Ne laissez pas le cache vous surprendre lors d'une migration critique. Planifiez vos changements de TTL à l'avance et utilisez MoniTao pour vérifier que vos modifications sont bien propagées à travers le monde.
Liens utiles
PrĂŞt Ă dormir sur vos deux oreilles ?
Commencez gratuitement, sans carte bancaire.