ここで少し質問に直面しています。長い/etc/hosts
ファイルがあります。 (Webで作業しているため、開発のために多くのサイトをローカルでホストしています)。約40行、50行としましょう。すべて127.0.0.1にリダイレクトします。
Chromeのインスペクタを確認すると、DNS Lookupの部分があるため、ローカルWebページの読み込みが遅いようです。 mygreatwebsite.local
ファイルでも定義されている/etc/hosts
URL。
簡単なチェックの後、hosts
ファイルを数行に減らすと、DNSルックアップ部分が大幅に高速化されるようです。だから私の質問、50行で約5秒、2、3行でわずかな時間の違いに直面することは可能ですか?それとも何かが完全に欠けていますか?
Tld .localが問題である可能性があります。zeroconfがこれを使用します。実際の標準はありませんが、内部tldに推奨されるtldは.siteまたは.internalです。これについては http://en.wikipedia.org/wiki/Top-level_domain#Pseudo-domains を参照してください。
/ etc/hostsファイルが長いとDNSルックアップが遅くなりますか?
その答えは、Windows(XP/Vista/7)マシンではyesです。
長いhostsファイルが「DNSクライアント」サービスでうまく機能しないことは既知の問題です。
http://winhelp2002.mvps.org/hosts.htm :
ほとんどの場合、大きなHOSTSファイル(135 kb以上)はマシンの速度を低下させる傾向があります。
[解決策:「DNSクライアント」サービスを手動または無効に設定します]
http://vlaurie.com/computers2/Articles/hosts.htm :
100 KBをはるかに超えるhostsファイルは、サービス「DNSクライアント」が手動で開始するように設定されていない限り、実際に参照を遅くする可能性があることに注意してください。
www.ericphelps.com/scripting/samples/Hosts/:
大きなHOSTSファイルを使用する前に行う最も重要なことは、マシンのドメインネームサービスクライアント(「DNSクライアント」または「DnsCache」)サービスを無効にすることです。奇妙に聞こえますが、DNSクライアントはDNSを実行する必要はありません。さらに悪いことに、大きなHOSTSファイル(私が提案するもの)がある場合、DNSクライアントがPC全体を閉塞します。
...そして私はこれを3つの異なるWindowsマシンで個人的に目撃しました:XP Pro、Vista、7 Starter。
Tcpdumpを使用して実際に何が起こっているかを確認することをお勧めします。それがなければ、推測するだけです。
基本的な構文は
tcpdump -n -i eth0 port 80 or port 53
(すべての通信がeth0で行われていると仮定して、DNSルックアップを防ぐためにポート80および53、-nを確認することに関心がある場合)。
これが速すぎるか、情報が多すぎる場合は、次を追加してダンプファイルにリダイレクトします。
-s 0 -w /tmp/dump
ダンプファイルを調べるには、wiresharkを使用します。正確なタイミング情報はファイルなどで確認できます...
Spybotを使用すると、既知の悪意のあるサイトを127.0.0.1にリダイレクトする約50,000のホストファイルエントリが挿入されます。この性質の長いhostsファイルがあることで問題が発生することはありませんでした。おそらく、開発者のセットアップやコード自体に関係があります。ローカルでサービスを提供しているサイトの数(50か)。50のエントリが存在する場合、サイトの全員が応答するのにこれほど長い時間がかかりますか?
私のテストによると、数百万のエントリを持つ34 MBのhostsファイルは、「DNSクライアント」サービスが無効になっている場合でも、Windowsでのブラウジングが少し遅くなります。したがって、それを超えたくないと思われる最大サイズがあります。
さまざまな理由で、何百ものエントリを持つ一部のマシンにhostsファイルがあります。マシンがhostsファイル内のエントリを見つけると、同じ情報のルックアップを行わなくなるため、これはDNSルックアップに影響を与えません。他のすべてが正しく構成されている場合、hostsファイルのサイズを推定しても、1,000のエントリがあっても、DNSルックアップを実行するよりも速くファイルを解析できるため、パフォーマンスに影響はありません。マシンがアドレスを解決する順序を確認します。 hostsファイルが最初にあるはずです。