2 votes

Pourquoi mes recherches de DNS sont-elles si longues (300+ms) lorsque j'accède à mon site web ?

J'utilise un serveur Fedora 11 avec Apache 2. J'essaie d'optimiser les choses pour qu'elles soient aussi rapides que possible du côté du serveur, et je remarque (via Firebug pour Firefox) qu'en chargeant la page d'accueil d'un des sites sur le serveur web, pour chaque fichier qu'il charge (HTML, CSS, JavaScript, GIF, PNG, JPG, etc.), il effectue une recherche DNS. ), il effectue une recherche DNS. Tous les fichiers qu'il recherche sont locaux au serveur, je suis donc surpris de voir qu'il effectue même une recherche DNS. En outre, chacune de ces recherches est comprise entre 150 et 450 ms, ce qui est beaucoup trop élevé à mon goût.

J'ai essayé d'ajuster le fichier /etc/resolve.conf pour utiliser les serveurs DNS publics de Google. J'ai redémarré le service réseau et tapé la page à nouveau, mais les chiffres n'ont pas diminué. Je suis revenu aux serveurs DNS par défaut puisque je n'ai pas vu de gain.

Avez-vous une idée de ce qui fait que : a) la recherche de noms de domaine est effectuée en premier lieu, et b) la recherche est si longue ?

Merci d'avance.

0 votes

Pour être clair, vous exécutez firefox à partir de votre serveur web ?

0 votes

Non. J'utilise Firefox sur mon ordinateur et j'accède à un site web qui se trouve sur le serveur web. Des personnes ne résidant pas sur mon réseau ont également accédé au site et ont rencontré les mêmes problèmes de consultation DNS que moi.

3voto

rmukhopadhyay Points 243

Tout appel à un nom DNS nécessite une recherche, même si elle est locale, et cette partie est donc attendue. Cependant, l'enregistrement devrait être mis en cache aussi longtemps que le TTL, donc tant que vous utilisez le même nom DNS pour tous vos objets sur la page, il ne devrait pas être nécessaire de faire la recherche DNS plusieurs fois. Vous n'utilisez pas des noms de domaine uniques pour chaque objet de la page ?

Vérifiez le réglage TTL de votre zone pour vous assurer qu'il est raisonnable.

Quant aux délais plus longs, ils peuvent provenir soit du serveur DNS, soit du client DNS. Essayez d'utiliser nslookup pour effectuer des requêtes DNS directement sur le serveur DNS et voyez si vous obtenez le même temps de réponse. Vous pouvez également parcourir le chemin du nom de domaine depuis le TLD jusqu'à votre nom de domaine (ou cnames) pour voir où cela ralentit.

Un moyen d'exclure (ou d'inclure) votre client DNS est de regarder un site public comme google.com avec firebug pour voir s'il est également lent.

2voto

Robert Kuykendall Points 143

J'ai eu un problème très similaire et je l'ai résolu. Il s'agissait d'un problème lié à notre configuration iptables, qui, si j'ai bien compris, était personnalisée en interne, de sorte que vous n'avez probablement pas le même problème, mais j'ai pensé à le mettre en lien au cas où.

Ne recevoir qu'un seul document à la fois du nouveau serveur web

"Retirer -m limit --limit 1/s de notre configuration iptables a résolu le problème présenté".

2voto

Beerey Points 252

Je viens de résoudre ce problème avec l'un de nos serveurs - plusieurs recherches DNS par page apparaissent dans firebug, une pour chaque élément qui est chargé. Nous avons découvert que le problème venait du fait que dans la configuration d'Apache, KeepAlive était réglé sur Off. Le passage à "On" a permis d'effectuer plusieurs requêtes par connexion TCP et a empêché les recherches DNS pour chaque élément.

Nous avons constaté que les temps de chargement sont maintenant deux à trois fois plus courts qu'auparavant et que les requêtes DNS n'apparaissent plus dans firebug.

Plus d'informations :

http://httpd.apache.org/docs/current/mod/core.html#keepalive

0voto

Chris Lercher Points 3902

Enregistrez-vous le nom de domaine ou faites-vous une autre recherche DNS inversée pour les adresses IP des utilisateurs ?

C'est aussi souvent un problème lorsque vous utilisez des noms de domaine au lieu d'adresses IP dans les fichiers de configuration d'Apache.

0voto

Kirill Osenkov Points 3902

Quels sont les temps de ping vers vos serveurs DNS ? Si vous avez une latence élevée vers vos serveurs DNS, vous obtiendrez des recherches DNS à latence élevée. Si vos serveurs dns sont surchargés, pensez à ajouter un serveur de noms en cache à votre réseau, cela améliorera les performances.

Votre passerelle peut également être configurée de manière à accorder une priorité plus élevée au trafic DNS, ce qui permet de maintenir les recherches à un niveau élevé. rapide.

Je n'ai jamais utilisé de serveur DNS Windows, mais vous pouvez peut-être explorer la voie Unix. Les serveurs à faible latence et à forte concurrence sont l'apanage d'Unix.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X