¿Puede un archivo / etc / hosts largo ralentizar la búsqueda de DNS?

9

Estoy enfrentando una pequeña pregunta aquí. Tengo un /etc/hostsarchivo largo (trabajando en la web, por lo que alojo muchos sitios a nivel local para desarrollar). Digamos que tiene aproximadamente 40, 50 líneas de largo. Todo redirigiendo a 127.0.0.1.

Ahora, al verificar el inspector de Chrome, parece que mis páginas web locales se están cargando lentamente debido a la parte de Búsqueda de DNS. En una mygreatwebsite.localurl también definida en el /etc/hostsarchivo.

Después de una comprobación rápida, parece que reducir el hostsarchivo a un par de líneas acelera drásticamente la parte de búsqueda de DNS. Entonces, mi pregunta, ¿es posible enfrentar diferencias de aproximadamente 5 segundos para 50 líneas y tiempos insignificantes para un par de líneas? ¿O me estoy perdiendo algo por completo?

Zenklys
fuente
¿Cuánto tiempo? He usado> 20000 archivos de host de línea (aunque no hay DNS involucrado). Las apariencias no tomaron mucho tiempo ...
Gert van den Berg

Respuestas:

18

Tu tld .local podría ser el problema, zeroconf lo usa. No existe un estándar real, pero el tld sugerido para un tld interno es .site o .internal. Ver http://en.wikipedia.org/wiki/Top-level_domain#Pseudo-domains para esto.

ott--
fuente
1
De hecho, he notado un gran aumento del rendimiento al usar la extensión .site. Después de un poco de investigación, parece ser el protocolo Bonjour de la manzana que utiliza .local tld.
Zenklys
Me uní a StackExchange solo para decir GRACIAS por este excelente consejo. Mi aplicación tardaba entre 10 y 15 segundos en cargar recursos y hacer que mi experiencia de desarrollo fuera una pesadilla. El uso de .site TLD hace que las páginas se vuelvan a cargar rápidamente. Increíble. Nota al margen: ¡Alguien debe mencionar este dato a todos los bloggers / screencasters que usan .local!
Steven Garcia
5

¿Puede un archivo / etc / hosts largo ralentizar la búsqueda de DNS?

La respuesta es , en una máquina con Windows (XP / Vista / 7).

Es un problema conocido que un archivo de hosts largo no funciona bien con el servicio "Cliente DNS".

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

en la mayoría de los casos, un archivo HOSTS grande (más de 135 kb) tiende a ralentizar la máquina.

[Solución: establezca el servicio "Cliente DNS" en manual o deshabilitado]

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

Tenga en cuenta que un archivo de host que tiene más de 100 KB puede en realidad ralentizar la navegación a menos que el servicio "Cliente DNS" esté configurado en inicio manual.

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

Lo más importante que debe hacer antes de usar archivos HOSTS grandes es deshabilitar el servicio del cliente del Servicio de nombres de dominio ("Cliente DNS" o "DnsCache") en su máquina. Suena extraño, pero el cliente DNS no es necesario para hacer DNS. Peor aún, si tiene un archivo HOSTS grande (que es lo que sugiero), el cliente DNS bloquea su PC completa.

... y personalmente he sido testigo de esto en tres máquinas Windows diferentes: XP Pro, Vista y 7 Starter.

Tero Niemi
fuente
Interesante punto de vista. No lo sabia. Pero esta pregunta se refiere a entornos Mac Os. ;)
Zenklys
2

Sugeriría usar tcpdump para ver qué está pasando realmente. Sin ella solo estarás adivinando.

La sintaxis básica sería

tcpdump -n -i eth0 port 80 or port 53

(si está interesado en ver los puertos 80 y 53, -n para evitar búsquedas de DNS, supongamos que toda la comunicación se realiza en eth0).

Si esto es demasiado rápido o demasiada información, rediríjalo al archivo de volcado agregando:

 -s 0 -w /tmp/dump

y use, por ejemplo, wireshark para mirar el archivo de volcado. Puede ver información precisa sobre el tiempo en el archivo y mucho más ...

Radek Hladík
fuente
1

Cuando usé Spybot, insertaba alrededor de 50,000 entradas de archivos de hosts que redirigen los sitios maliciosos conocidos a 127.0.0.1. Nunca noté ningún problema por tener un archivo de hosts largo de esta naturaleza. Probablemente tiene más que ver con la configuración de su desarrollador o el código en sí. ¿Cuántos sitios atiende localmente (50?) ¿Cada uno de ellos tarda tanto en responder cuando hay 50 entradas?

iainlbc
fuente
Sí, estoy seguro de que no tiene nada que ver con los sitios en sí, se ejecutaron perfectamente en mi otra Mac (Snow Leopard). Ahora en Lion, solo la configuración del servidor y el archivo de hosts han cambiado. Y sí, todos tardan el mismo tiempo en cargar. Y siempre en la parte de búsqueda de DNS.
Zenklys
0

Por varias razones, tengo archivos de hosts en algunas máquinas con cientos de entradas. Esto no tiene ningún impacto en las búsquedas de DNS simplemente porque una vez que la máquina ha encontrado una entrada en el archivo de hosts, no buscará la misma información. Si todo lo demás está configurado correctamente, educar el tamaño del archivo de hosts no afectará el rendimiento porque, incluso con mil entradas, ese archivo aún se puede analizar más rápido que realizar una búsqueda de DNS. Verifique el orden en que su máquina está resolviendo direcciones. El archivo de hosts debe ser el primero.

John Gardeniers
fuente
Gracias por la respuesta. ¿Cómo verifico el pedido?
Zenklys
@Zenklys, tendré que dejarlo en manos de alguien mucho más experto en Linux para que responda eso por usted.
John Gardeniers
0

Según mis pruebas, un archivo de host de 34 MB con unos pocos millones de entradas ralentiza un poco la exploración en Windows incluso cuando el servicio "Cliente DNS" está desactivado. Por lo tanto, hay un tamaño máximo más allá del cual probablemente no quieras ir.

gravitación
fuente