web-dev-qa-db-fra.com

Comment réduire les recherches DNS?

Il faut environ 20 à 120 millisecondes à DNS (système de noms de domaine) pour résoudre l'adresse IP pour un nom d'hôte ou un nom de domaine donné, et le navigateur ne peut rien faire tant que le processus n'est pas correctement terminé.

Avant qu'un navigateur puisse établir une connexion réseau à un serveur Web, il doit résoudre le nom DNS du serveur Web en une adresse IP. Étant donné que les résolutions DNS peuvent être mises en cache par le navigateur et le système d'exploitation du client, si un enregistrement valide est toujours disponible dans la mémoire cache du client, aucune latence n'est introduite. Toutefois, si le client doit effectuer une recherche DNS sur le réseau, la latence peut varier considérablement en fonction de la proximité d'un serveur de noms DNS pouvant fournir une réponse valide.

Alors ... comment/y a-t-il un moyen de réduire ces recherches DNS via une optimisation côté serveur ou autre chose? Suis-je impuissant ici ou cela dépend de la taille de la page Web/de mon fournisseur d'hébergement?

2
Josip Ivic

La recherche DNS a lieu bien avant que le client ait commencé à lire la page Web. Ne vous inquiétez donc pas de la taille de la page. Rappelez-vous que le DNS est essentiellement le processus de traduction d'un nom de domaine en une adresse IP, donc myexample.com --> 123.45.678.9, et cette traduction doit avoir lieu avant que la page elle-même puisse être demandée à partir de l'adresse IP. La page peut être très petite ou extrêmement grande et la recherche DNS prendra le même temps.

Donc, si vous voulez réduire les temps de recherche DNS, vous devez vous assurer qu'il existe un serveur DNS très fiable, non loin du client. Cela pourrait signifier:

  • Hébergement de votre DNS séparément de votre registraire ou de votre hébergeur Web habituel. Il existe des fournisseurs d’hébergement DNS dédiés, comme DNS Made Easy et Dyn.com. Ces services exploiteront un réseau de serveurs DNS réparti dans le monde entier, afin de pouvoir répondre à la recherche aussi près que possible de chaque ordinateur client. Et (selon la théorie), comme ils ne font que DNS, ils investissent dans cette infrastructure et veillent à ce qu’elle soit fiable (par opposition à certains bureaux d’enregistrement que nous pourrions nommer).
  • Hébergement de vos propres serveurs DNS. Assurez-vous de bien comprendre tout d'abord. Vous aurez besoin de quelques VPS pour que le service reste redondant. Tout ce que ces serveurs feront, c'est gérer les requêtes DNS et vous pouvez optimiser leurs performances en fonction du contenu de votre coeur, en commençant par installer quelque chose comme PowerDNS, tinydns ou BIND.

Personnellement, je ne vous encouragerais pas à héberger vos propres serveurs DNS à moins que vous sachiez vraiment ce que vous faites et que vous ayez une bonne raison de le faire. Dans presque tous les cas, le coût relativement bas de l'hébergement DNS dédié avec l'un des fournisseurs mentionnés ci-dessus en fera le meilleur choix.

3
Stephan

En général, chaque résolveur DNS, comme Bind, possède un cache DNS. si x.x.x.x est mon serveur DNS, quand je tape

 Dig A averyuncommonebsite.com @x.x.x.x

j'obtiens les deux premiers chiffres pour le temps de réponse. Ensuite, la deuxième fois que je le demande, je reçois une réponse en 1ms car la réponse est dans le cache de mon résolveur DNS qui est BIND. Vous pouvez donc créer votre propre résolveur DNS pour contrôler le temps de réponse DNS.

0
Nicolas Guérinet