Uzun / etc / hosts dosyası DNS aramasını yavaşlatabilir mi?


9

Burada küçük bir soru ile karşı karşıyayım. Uzun bir /etc/hostsdosyam var. (Web'de çalışıyorum, bu yüzden yerel olarak geliştirmek için birçok siteye ev sahipliği yapıyorum). Diyelim ki yaklaşık 40, 50 satır uzunluğunda. Tümü 127.0.0.1'e yönlendiriliyor.

Chrome'un denetçisini kontrol ederken, DNS Arama kısmı nedeniyle yerel web sayfalarım yavaş yükleniyor gibi görünüyor. Dosyada mygreatwebsite.localtanımlanan bir url de /etc/hosts.

Hızlı bir kontrolden sonra, hostsdosyayı birkaç satıra indirmenin DNS arama bölümünü önemli ölçüde hızlandırdığı anlaşılıyor . Yani sorum, 50 satır için yaklaşık 5 saniye ve birkaç satır için önemsiz zamanlarla karşılaşmak mümkün mü? Yoksa tamamen bir şey mi kaçırıyorum?


Ne kadar? > 20000 satır ana bilgisayar dosyaları kullandım (ancak DNS dahil değil). Görünüşe göre uzun sürmedi ...
Gert van den Berg

Yanıtlar:


18

Tld .local dosyanız sorun olabilir, zeroconf bunu kullanır. Gerçek bir standart yoktur, ancak dahili bir tld için önerilen tld .site veya .internal'dır. Bunun için http://en.wikipedia.org/wiki/Top-level_domain#Pseudo-domains adresine bakın .


1
Aslında, .site uzantısını kullanırken büyük performans artışı fark ettim. Küçük bir araştırmadan sonra, elmanın .local tld kullanan Bonjour protokolü olduğu görülüyor.
Zenklys

Bu mükemmel ipucu için TEŞEKKÜRLER demek için StackExchange'e katıldım. Uygulamam sadece varlıkları yüklemek ve geliştirici deneyimimi kabus yapmak 10-15 saniye sürüyordu. .Site TLD kullanıldığında, sayfaların tümü çabuk yükleniyor. Muhteşem. Sidenote: Birinin .local kullanan tüm blogculara / ekran görüntüleyicilere bu tidbitten bahsetmesi gerekiyor!
Steven Garcia

5

Uzun / etc / hosts dosyası DNS aramasını yavaşlatabilir mi?

Yanıt, bir Windows (XP / Vista / 7) makinesinde evet .

Uzun bir hosts dosyasının "DNS İstemcisi" hizmeti ile iyi çalışmadığı bilinen bir sorundur.

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

çoğu durumda büyük bir HOSTS dosyası (135 kb'nin üzerinde) makineyi yavaşlatma eğilimindedir.

[Çözüm: "DNS İstemcisi" hizmetini el ile veya devre dışı olarak ayarlayın]

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

"DNS İstemcisi" hizmeti el ile başlatmaya ayarlanmadığı sürece 100 KB'ın üzerinde bir ana bilgisayar dosyasının gezinmeyi yavaşlatabileceğini unutmayın.

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

Büyük HOSTS dosyalarını kullanmadan önce yapılacak en önemli şey, makinenizdeki Etki Alanı Adı Hizmeti istemcisi ("DNS İstemcisi" veya "DnsCache") hizmetini devre dışı bırakmaktır. Kulağa tuhaf geliyor, ancak DNS yapmak için DNS istemcisine gerek yok. Daha da kötüsü, büyük bir HOSTS dosyanız varsa (bu benim önerdiğim şeydir), DNS istemcisi tüm bilgisayarınızı boğar.

... ve üç farklı Windows makinesinde şahsen tanık oldum: XP Pro, Vista ve 7 Starter.


İlginç bir bakış açısı. Bunu bilmiyordum. Ancak bu sorular Mac Os ortamlarıyla ilgilidir. ;)
Zenklys

2

Aslında ne olduğunu görmek için tcpdump kullanmanızı öneririm. O olmadan sadece tahmin edeceksin.

Temel sözdizimi

tcpdump -n -i eth0 port 80 or port 53

(DNS aramalarını önlemek için 80 ve 53 numaralı bağlantı noktalarını görmekle ilgileniyorsanız, tüm iletişimin eth0'da gerçekleştiğini varsayalım).

Bu çok hızlı veya çok fazla bilgi içeriyorsa, ekleyerek dökümü dosyaya yönlendirin:

 -s 0 -w /tmp/dump

ve çöp kutusuna bakmak için yani wireshark kullanın. Dosyada kesin zamanlama bilgilerini ve daha fazlasını görebilirsiniz ...


1

Spybot kullandığımda, bilinen kötü amaçlı siteleri 127.0.0.1'e yönlendiren yaklaşık 50.000 ana bilgisayar dosya girdisi ekleyecekti. Bu doğanın uzun bir ana bilgisayar dosyasına sahip olmanın hiçbir sorununu fark etmedim. Büyük olasılıkla geliştirici kurulumunuz veya kodun kendisi ile daha fazla ilgisi vardır. Yerel olarak kaç siteye hizmet veriyorsunuz (50?) 50 giriş olduğunda herkesin bu kadar uzun süre yanıt vermesi gerekiyor mu?


Evet, sitelerin kendisi ile ilgisi olmadığından eminim, diğer mac'umda mükemmel bir şekilde koştular (Snow Leopard). Şimdi Lion'da yalnızca sunucu yapılandırması ve hosts dosyası değişti. Ve evet, hepsinin yüklenmesi aynı zaman alıyor. Ve her zaman DNS Arama bölümünde.
Zenklys

0

Çeşitli nedenlerden dolayı yüzlerce girişe sahip bazı makinelerde dosya barındırıyorum. Bunun DNS aramaları üzerinde bir etkisi yoktur, çünkü makine anasistemler dosyasında bir giriş bulduktan sonra aynı bilgi için bir arama yapmayacaktır. Her şey doğru şekilde yapılandırılırsa, hosts dosyasının boyutunu eğitmek performansı etkilemez, çünkü bin girişte bile bu dosya bir DNS araması yapmaktan daha hızlı ayrıştırılabilir. Makinenizin adresleri çözme sırasını kontrol edin. Önce hosts dosyası olmalıdır.


Cevap için teşekkürler. Siparişi nasıl kontrol ederim?
Zenklys

@Zenklys, bunu sizin için cevaplamak için Linux'ta çok daha uzman birine bırakmam gerekecek.
John Gardeniers

0

Testlerime dayanarak, birkaç milyon girişi olan 34 MB ana bilgisayar dosyası, "DNS İstemcisi" hizmeti devre dışı olsa bile Windows'ta gezinmeyi biraz yavaşlatır. Yani, ötesinde muhtemelen gitmek istemediğiniz bir maksimum boyut var.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.