Un file lungo / etc / hosts può rallentare la ricerca DNS?


9

Sto affrontando una piccola domanda qui. Ho un /etc/hostsfile lungo . (lavorando sul web, quindi sto ospitando molti siti localmente per lo sviluppo). Diciamo che è lungo circa 40, 50 linee. Tutto il reindirizzamento a 127.0.0.1.

Ora, controllando l'ispettore di Chrome, sembra che le mie pagine web locali si stiano caricando lentamente a causa della parte di ricerca DNS. Su un mygreatwebsite.localURL definito anche nel /etc/hostsfile.

Dopo un rapido controllo, sembra che ridurre il hostsfile a un paio di righe acceleri drasticamente la parte di ricerca DNS. Quindi la mia domanda, è possibile confrontarsi con differenze di circa 5 secondi per 50 linee e tempi insignificanti per un paio di linee? O mi manca completamente qualcosa?


Per quanto? Ho usato> 20000 file di host di linea (nessun DNS coinvolto però). L'aspetto non ha richiesto molto tempo ...
Gert van den Berg,

Risposte:


18

Il tuo tld .local potrebbe essere il problema, zeroconf lo usa. Non esiste uno standard reale, ma il tld suggerito per un tld interno è .site o .internal. Vedi http://en.wikipedia.org/wiki/Top-level_domain#Pseudo-domains per questo.


1
In effetti, ho notato un notevole aumento delle prestazioni durante l'utilizzo dell'estensione .site. Dopo una piccola ricerca, sembra essere il protocollo Bonjour della mela che utilizza .local tld.
Zenklys,

Sono entrato in StackExchange solo per dire GRAZIE per questo eccellente suggerimento. La mia app impiegava 10-15 secondi solo per caricare le risorse e rendere l'esperienza del mio sviluppatore un incubo. Utilizzando .site TLD le pagine caricano di nuovo tutto in modo scattante. Eccezionale. Sidenote: Qualcuno deve menzionare questo bocconcino a tutti i blogger / screencaster che usano .local!
Steven Garcia,

5

Un file lungo / etc / hosts può rallentare la ricerca DNS?

La risposta è , in una macchina Windows (XP / Vista / 7).

È noto che un file hosts lungo non funziona bene con il servizio "Client DNS".

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

nella maggior parte dei casi un file HOSTS di grandi dimensioni (oltre 135 kb) tende a rallentare la macchina.

[Soluzione: impostare il servizio "Client DNS" su manuale o disabilitato]

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

Si noti che un file host di dimensioni superiori a 100 KB può effettivamente rallentare la navigazione a meno che il servizio "Client DNS" non sia impostato per l'avvio manuale.

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

La cosa più importante da fare prima di utilizzare file HOSTS di grandi dimensioni è disabilitare il servizio client Domain Name Service ("Client DNS" o "DnsCache") sul computer. Sembra bizzarro, ma il client DNS non è necessario per fare DNS. Peggio ancora, se hai un file HOSTS di grandi dimensioni (che è quello che suggerisco), il client DNS soffoca l'intero PC.

... e l'ho visto personalmente su tre diversi computer Windows: XP Pro, Vista e 7 Starter.


Punto di vista interessante. Non lo sapevo. Ma questa domanda riguarda gli ambienti Mac Os. ;)
Zenklys l'

2

Suggerirei di usare tcpdump per vedere cosa sta realmente succedendo. Senza di essa indovinerai solo.

La sintassi di base sarebbe

tcpdump -n -i eth0 port 80 or port 53

(se sei interessato a vedere le porte 80 e 53, -n per impedire le ricerche DNS, supponendo che tutta la comunicazione avvenga su eth0).

Se si tratta di informazioni troppo veloci o troppe, reindirizzarle al file di dump con l'aggiunta di:

 -s 0 -w /tmp/dump

e usare ie WireShark per esaminare il file di dump. Puoi vedere informazioni precise sui tempi nel file e molto altro ...


1

Quando ho usato Spybot inseriva circa 50.000 voci di file host che reindirizzavano siti dannosi noti a 127.0.0.1. Non ho mai notato alcun problema con un file hosts lungo di questa natura. Probabilmente ha più a che fare con la tua configurazione di sviluppo o il codice stesso. Quanti siti stai servendo localmente (50?) Ognuno di loro impiega così tanto tempo a rispondere quando sono presenti 50 voci?


Sì, sono sicuro che non ha nulla a che fare con i siti stessi, hanno funzionato perfettamente sul mio altro Mac (Snow Leopard). Ora su Lion, sono cambiati solo la configurazione del server e il file hosts. E sì, impiegano tutti lo stesso tempo per caricare. E sempre nella parte Ricerca DNS.
Zenklys,

0

Per vari motivi ho file host su alcune macchine con centinaia di voci. Ciò non ha alcun impatto sulle ricerche DNS semplicemente perché una volta che la macchina ha trovato una voce nel file hosts non effettuerà una ricerca per le stesse informazioni. Se tutto il resto è configurato correttamente educando la dimensione del file hosts non influirà sulle prestazioni perché anche con mille voci quel file può ancora essere analizzato più velocemente rispetto all'esecuzione di una ricerca DNS. Controlla l'ordine in cui la tua macchina sta risolvendo gli indirizzi. Il file hosts dovrebbe essere il primo.


Grazie per la risposta. Come posso controllare l'ordine?
Zenklys,

@Zenklys, dovrò lasciare a qualcuno molto più esperto in Linux di rispondere per te.
John Gardeniers,

0

Sulla base dei miei test, un file host da 34 MB con alcuni milioni di voci rallenta un po 'la navigazione in Windows anche quando il servizio "Client DNS" è disabilitato. Quindi, c'è una dimensione massima oltre la quale probabilmente non vuoi andare.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.