Le système de noms de domaine (DNS) est indispensable pour tout site Internet. Son rôle est de traduire les noms de domaine en adresses IP lisibles par l’homme et compréhensibles par les ordinateurs. Chaque fois qu’un utilisateur tape l’URL d’un site web dans son navigateur, il lance une requête DNS afin d’obtenir l’adresse IP correspondante. Mais les recherches DNS peuvent parfois entraîner des retards et avoir des conséquences sur les performances du site web.
I. La mise en place d’un cache DNS
Un cache DNS est une technique qui permet de stocker dans un cache les requêtes DNS déjà résolues. Dès qu’un utilisateur lance une recherche DNS, celui-ci vérifie d’abord si l’adresse IP correspondante est disponible dans le cache. Quand l’information est disponible, il n’est pas nécessaire d’effectuer une nouvelle recherche DNS, d’où une nette diminution du temps nécessaire à cet effet. Le fait de disposer d’une mémoire cache DNS à différents niveaux (système d’exploitation, réseau local ou serveur web) améliore considérablement la vitesse de résolution du DNS et diminue la charge imposée aux serveurs DNS.
II. Améliorer les paramètres TTL (Time-to-Live)
Le paramètre TTL permet de définir la durée de vie des enregistrements DNS stockés dans les caches avant qu’ils n’expirent et ne doivent être consultés à nouveau. La définition d’un TTL plus long peut contribuer à réduire la fréquence des consultations DNS et à améliorer les performances. Mais il est essentiel de rechercher un équilibre entre un TTL plus long et la nécessité de procéder à des mises à jour en temps voulu. En ce qui concerne les enregistrements qui changent souvent, associés par exemple à des configurations d’équilibrage de charge ou de basculement, un TTL plus court sera sans doute mieux adapté.
III. Choisir un fournisseur de services DNS rapide et fiable
C’est le choix du fournisseur de services DNS qui détermine la rapidité des recherches DNS. En effet, si certains fournisseurs de DNS disposent d’une solide structure et sont dotés d’un réseau efficace, les réponses aux requêtes sont plus rapides. Renseignez-vous et choisissez un fournisseur de DNS réputé pour sa fiabilité et sa faible durée de latence. Songez également à utiliser un fournisseur qui propose le routage anycast, qui permet de diriger les données de l’utilisateur vers les serveurs de l’entreprise.
IV. Limiter le nombre de recherches DNS
Dans une page web, toute ressource (image, script, feuille de style, etc.) doit faire l’objet d’une recherche DNS particulière. Le nombre de ressources externes d’une page web est d’autant plus élevé que la résolution de toutes les requêtes DNS connexes prend du temps. Il faut donc réduire le nombre de ressources externes ou les regrouper dans la mesure du possible, si l’on veut accélérer les recherches DNS. En combinant plusieurs fichiers JavaScript ou CSS pour en faire un, il est possible de réduire le nombre de recherches DNS et de raccourcir le temps de chargement des pages.
V. Recueillir à l’avance et établir à l’avance la connexion des ressources DNS
De nos jours, les navigateurs sont dotés de fonctionnalités de préfixation et de préconnexion leur permettant de prendre des mesures proactives afin de résoudre les requêtes DNS en amont de leur exécution. L’utilisation de ces mécanismes permet de récupérer les ressources DNS, y compris les scripts externes ou les feuilles de style, pendant que l’utilisateur navigue sur la page en cours. Lorsqu’il passe à la page suivante, les requêtes DNS sont déjà résolues, ce qui réduit le retard qu’il ressent.
VI. Introduire le protocole DNSSEC (DNS Security Extensions)
Le protocole DNSSEC permet de renforcer la sécurité de l’infrastructure DNS en garantissant la signature numérique des enregistrements DNS. Si le but premier de DNSSEC est de garantir la fiabilité des réponses DNS, il peut aussi permettre d’améliorer les performances du DNS. Le fait d’activer la validation DNSSEC sur les résolveurs DNS offre l’avantage de mettre en cache les enregistrements DNSSEC, et de réduire ainsi les requêtes DNS requises lors des recherches ultérieures.
Il est essentiel que les DNS soient efficaces pour que la navigation se déroule sans heurts. Grâce à des méthodes telles que la mise en cache DNS, le paramétrage optimisé du TTL, le choix d’un fournisseur DNS fiable, la réduction du nombre de recherches DNS et l’utilisation des techniques de prefetching et de pré-connecting, les temps de recherche DNS peuvent être réduits de manière significative au profit de la performance des sites web.