Un long fichier / etc / hosts peut-il ralentir la recherche DNS?

9

Je fais face à une petite question ici. J'ai un long /etc/hostsdossier. (travaillant sur le web, j'héberge donc beaucoup de sites localement pour le développement). Disons qu'il fait environ 40, 50 lignes. Tous redirigent vers 127.0.0.1.

Maintenant, lors de la vérification de l'inspecteur de Chrome, il semble que mes pages Web locales se chargent lentement en raison de la partie Recherche DNS. Sur une mygreatwebsite.localURL également définie dans le /etc/hostsfichier.

Après une vérification rapide, il semblerait que la réduction du hostsfichier à quelques lignes accélère considérablement la partie de recherche DNS. Alors ma question, est-il possible d'être confronté à des différences d'environ 5 secondes pour 50 lignes, et des temps insignifiants pour quelques lignes? Ou est-ce que je manque complètement quelque chose?

Zenklys
la source
Combien de temps? J'ai utilisé> 20000 fichiers d'hôtes de ligne (pas de DNS impliqué cependant). Les looks n'ont pas pris beaucoup de temps ...
Gert van den Berg

Réponses:

18

Votre tld .local pourrait être le problème, zeroconf l'utilise. Il n'y a pas de véritable standard, mais le tld suggéré pour un tld interne est .site ou .internal. Voir http://en.wikipedia.org/wiki/Top-level_domain#Pseudo-domains pour cela.

ott--
la source
1
En effet, j'ai remarqué une grande amélioration des performances lors de l'utilisation de l'extension .site. Après quelques recherches, il semble que ce soit le protocole Bonjour d'Apple qui utilise .local tld.
Zenklys
J'ai rejoint StackExchange juste pour vous dire MERCI pour cet excellent conseil. Mon application prenait 10 à 15 secondes juste pour charger les ressources et faire de mon expérience de développeur un cauchemar. En utilisant .site TLD, les pages chargent à nouveau toutes les images. Impressionnant. Sidenote: Quelqu'un doit mentionner cette friandise à tous les blogueurs / screencasters qui utilisent .local!
Steven Garcia
5

Un long fichier / etc / hosts peut-il ralentir la recherche DNS?

La réponse est oui , sur une machine Windows (XP / Vista / 7).

C'est un problème connu qu'un long fichier d'hôtes ne fonctionne pas bien avec le service "Client DNS".

http://winhelp2002.mvps.org/hosts.htm :

dans la plupart des cas, un gros fichier HOSTS (plus de 135 ko) a tendance à ralentir la machine.

[Solution: définissez le service "Client DNS" sur manuel ou désactivé]

http://vlaurie.com/computers2/Articles/hosts.htm :

Notez qu'un fichier d' hôtes de plus de 100 Ko peut en fait ralentir la navigation à moins que le service "Client DNS" ne soit configuré pour un démarrage manuel.

www.ericphelps.com/scripting/samples/Hosts/:

La chose la plus importante à faire avant d'utiliser des fichiers HOSTS volumineux est de désactiver le service client de service de nom de domaine ("Client DNS" ou "DnsCache") sur votre ordinateur. Cela semble bizarre, mais le client DNS n'est pas nécessaire pour faire du DNS. Pire, si vous avez un gros fichier HOSTS (ce que je suggère), le client DNS étouffe tout votre PC.

... et j'en ai personnellement été témoin sur trois machines Windows différentes: XP Pro, Vista et 7 Starter.

Tero Niemi
la source
Point de vue intéressant. Je ne le savais pas. Mais cette question concerne les environnements Mac Os. ;)
Zenklys
2

Je suggère d'utiliser tcpdump pour voir ce qui se passe réellement. Sans cela, vous ne ferez que deviner.

La syntaxe de base serait

tcpdump -n -i eth0 port 80 or port 53

(si vous souhaitez voir les ports 80 et 53, -n pour empêcher les recherches DNS, en supposant que toutes les communications ont lieu sur eth0).

Si c'est trop rapide ou trop d'informations, redirigez-le vers un fichier de vidage en ajoutant:

 -s 0 -w /tmp/dump

et utilisez ie wireShark pour regarder dans le fichier de vidage. Vous pouvez voir des informations de synchronisation précises dans le fichier et bien plus encore ...

Radek Hladík
la source
1

Lorsque j'utilisais Spybot, il insérait environ 50 000 entrées de fichiers hôtes qui redirigeaient vers des sites malveillants connus vers 127.0.0.1. Je n'ai jamais remarqué de problème avec un long fichier d'hôtes de cette nature. Cela a probablement plus à voir avec votre configuration de développement ou le code lui-même. Combien de sites desservez-vous localement (50?) Est-ce que chacun d'entre eux met autant de temps à répondre lorsque 50 entrées sont présentes?

iainlbc
la source
Oui, je suis sûr que cela n'a rien à voir avec les sites eux-mêmes, ils fonctionnaient parfaitement sur mon autre mac (Snow Leopard). Désormais sur Lion, seuls la configuration du serveur et le fichier hosts ont changé. Et oui, ils prennent tous le même temps pour se charger. Et toujours sur la partie Recherche DNS.
Zenklys
0

Pour diverses raisons, j'ai des fichiers hôtes sur certaines machines avec des centaines d'entrées. Cela n'a aucun impact sur les recherches DNS simplement parce qu'une fois que la machine a trouvé une entrée dans le fichier hosts, elle ne recherchera pas les mêmes informations. Si tout le reste est configuré correctement, la réduction de la taille du fichier hosts n'affectera pas les performances car même avec mille entrées, ce fichier peut toujours être analysé plus rapidement que d'effectuer une recherche DNS. Vérifiez l'ordre dans lequel votre appareil résout les adresses. Le fichier hosts doit être le premier.

John Gardeniers
la source
Merci d'avoir répondu. Comment vérifier la commande?
Zenklys
@Zenklys, je vais devoir laisser à quelqu'un de bien plus expert en Linux le soin de vous répondre.
John Gardeniers
0

D'après mes tests, un fichier d'hôtes de 34 Mo avec quelques millions d'entrées ralentit un peu la navigation dans Windows même lorsque le service "Client DNS" est désactivé. Il existe donc une taille maximale au-delà de laquelle vous ne voudrez probablement pas aller.

gravitation
la source