较长的/ etc / hosts文件可以减慢DNS查找速度吗?


9

我在这里面临一个小问题。我的/etc/hosts档案很长。(在网络上工作,因此我在本地托管了许多网站以供开发)。假设它大约有40、50行。全部重定向到127.0.0.1。

现在,在检查Chrome浏览器的检查器时,由于DNS查找部分,我的本地网页似乎加载缓慢。在文件中mygreatwebsite.local也定义的网址上/etc/hosts

快速检查后,似乎可以将hosts文件减少到几行,从而大大加快了DNS查找的速度。所以我的问题是,是否可能要面对50条线大约5秒的差异,而几行的时间无关紧要?还是我完全错过了什么?


多久?我已经使用了> 20000行主机文件(虽然不涉及DNS)。看起来并没有花费多长时间...
Gert van den Berg '18

Answers:


18

您的tld .local可能是问题,zeroconf使用了这个。没有真正的标准,但是内部tld的建议tld是.site或.internal。有关此操作,请参见http://en.wikipedia.org/wiki/Top-level_domain#Pseudo-domains


1
确实,我注意到使用.site扩展名时性能得到了极大的提高。经过一些研究,似乎是苹果的Bonjour协议使用了.local tld。
Zenklys

我加入StackExchange只是为了感谢您的出色技巧。我的应用仅花费10到15秒钟即可加载资产并使开发人员经历一场噩梦。使用.site TLD会使页面再次加载所有快照。太棒了 旁注:有人需要向所有使用.local的博客作者/截屏者提及此消息!
史蒂文·加西亚

5

较长的/ etc / hosts文件可以减慢DNS查找速度吗?

在Windows(XP / Vista / 7)计算机上,答案是肯定的

一个长主机文件无法与“ DNS客户端”服务一起正常运行是一个已知问题。

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

在大多数情况下,较大的HOSTS文件(超过135 kb)会降低计算机的速度。

[解决方案:将“ DNS客户端”服务设置为手动或禁用)

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

请注意,除非服务“ DNS客户端”设置为手动启动,否则超过100 KB 的主机文件实际上会减慢浏览速度。

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

使用大型HOSTS文件之前,最重要的事情是禁用计算机上的域名服务客户端(“ DNS客户端”或“ DnsCache”)服务。这听起来很奇怪,但是不需要DNS客户端来执行DNS。更糟糕的是,如果您有一个很大的HOSTS文件(这是我的建议),则DNS客户端会阻塞您的整个PC。

...并且我亲自在三种不同的Windows机器上见证了这一点:XP Pro,Vista和7 Starter。


有趣的观点。我不知道 但这问题与Mac Os环境有关。;)
Zenklys 2011年

2

我建议使用tcpdump查看实际发生的情况。没有它,您将只是猜测。

基本语法是

tcpdump -n -i eth0 port 80 or port 53

(如果您有兴趣查看端口80和53,请-n阻止DNS查找,假设所有通信都在eth0上进行)。

如果这太快或太多信息,则通过添加以下命令将其重定向到dumpfile:

 -s 0 -w /tmp/dump

并使用iewshark查找转储文件。您可以在文件中看到准确的计时信息,还有更多...


1

当我使用Spybot时,它将插入大约50,000个主机文件条目,这些文件条目将已知的恶意站点重定向到127.0.0.1。我从来没有注意到具有这种性质的长主机文件的任何问题。可能与您的开发设置或代码本身有关。您在本地有多少个站点(50个?),当存在50个条目时,每个人中的每个人都花这么长时间做出响应吗?


是的,我确定这与网站本身无关,它们可以在我的另一台Mac(Snow Leopard)上完美运行。现在在Lion上,仅服务器配置和主机文件已更改。是的,它们都需要花费相同的时间加载。并始终在DNS查找部分。
Zenklys 2011年

0

由于各种原因,我在一些具有数百个条目的计算机上托管了文件。这不会对DNS查找产生任何影响,这仅仅是因为一旦计算机在主机文件中找到了条目,就不会对相同的信息进行查找。如果正确配置了其他所有内容,则减小主机文件的大小不会影响性能,因为即使具有一千个条目,该文件的解析仍比执行DNS查找更快。检查机器解析地址的顺序。主机文件应该是第一个。


感谢您的回答。如何检查订单?
Zenklys 2011年

@Zenklys,我不得不让Linux方面的专家来为您解答。
约翰·加迪尼尔

0

根据我的测试,即使禁用了“ DNS客户端”服务,一个34 MB的主机文件也只有几百万个条目,这会稍微减慢Windows中的浏览速度。因此,有一个最大尺寸,您可能不想超过该最大尺寸。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.