Czy długi plik / etc / hosts może spowolnić wyszukiwanie DNS?

9

Mam tu małe pytanie. Mam długi /etc/hostsplik. (pracuje w sieci, więc hostuję lokalnie wiele witryn do programowania). Powiedzmy, że ma około 40, 50 linii. Wszystkie przekierowania do 127.0.0.1.

Teraz, gdy sprawdzam inspektora Chrome, wydaje się, że moje lokalne strony internetowe ładują się powoli z powodu części DNS Lookup. Na mygreatwebsite.localadres URL zdefiniowany również w /etc/hostspliku.

Po szybkim sprawdzeniu wydaje się, że zmniejszenie hostspliku do kilku wierszy drastycznie przyspiesza część wyszukiwania DNS. Więc moje pytanie, czy można zmierzyć się z różnicami wynoszącymi około 5 sekund dla 50 linii i nieistotnymi czasami dla kilku linii? A może coś mi zupełnie brakuje?

Zenklys
źródło
Jak długo? Użyłem> 20000 plików hostów linii (choć nie dotyczy to DNS). Wygląd nie trwał zauważalnie długo ...
Gert van den Berg

Odpowiedzi:

18

Twój tld .local może być problemem, zeroconf używa tego. Nie ma prawdziwego standardu, ale sugerowanym tld dla wewnętrznego tld jest .site lub .internal. Zobacz http://en.wikipedia.org/wiki/Top-level_domain#Pseudo-domains .

ott--
źródło
1
Rzeczywiście zauważyłem duży wzrost wydajności podczas korzystania z rozszerzenia .site. Po drobnych badaniach wydaje się, że protokół Apple Bonjour używa .local tld.
Zenklys,
Dołączyłem do StackExchange tylko po to, by podziękować za tę wspaniałą wskazówkę. Moja aplikacja zajęła 10-15 sekund, aby załadować zasoby i sprawić, że mój deweloper doświadczył koszmaru. Korzystanie z .site TLD powoduje, że strony ładują się ponownie bez problemów. Niesamowite. Sidenote: Ktoś musi wspomnieć o tym ciekawostce wszystkim blogerom / screencasterom używającym .local!
Steven Garcia
5

Czy długi plik / etc / hosts może spowolnić wyszukiwanie DNS?

Odpowiedź brzmi: tak , na komputerze z systemem Windows (XP / Vista / 7).

Znanym problemem jest to, że długi plik hosts nie działa dobrze z usługą „Klient DNS”.

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

w większości przypadków duży plik HOSTS (ponad 135 kb) ma tendencję do spowalniania komputera.

[Rozwiązanie: Ustaw usługę „Klient DNS” na ręczną lub wyłączoną]

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

Należy pamiętać, że plik hosta o rozmiarze przekraczającym 100 KB może faktycznie spowolnić przeglądanie, chyba że usługa „Klient DNS” jest ustawiona na ręczne uruchamianie.

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

Najważniejszą rzeczą do zrobienia przed użyciem dużych plików HOSTS jest wyłączenie usługi klienta nazw domen („Klient DNS” lub „DnsCache”) na komputerze. Brzmi dziwnie, ale klient DNS nie jest potrzebny do wykonywania DNS. Co gorsza, jeśli masz duży plik HOSTS (co sugeruję), klient DNS dusi cały komputer.

... i osobiście byłem tego świadkiem na trzech różnych komputerach z systemem Windows: XP Pro, Vista i 7 Starter.

Tero Niemi
źródło
Ciekawy punkt widzenia. Nie wiedziałem tego. Ale to pytanie dotyczy środowisk Mac OS. ;)
Zenklys,
2

Sugerowałbym użycie tcpdump, aby zobaczyć, co się właściwie dzieje. Bez tego będziesz tylko zgadywał.

Podstawowa składnia byłaby

tcpdump -n -i eth0 port 80 or port 53

(jeśli chcesz zobaczyć porty 80 i 53, -n, aby zapobiec przeszukiwaniu DNS, załóżmy, że cała komunikacja odbywa się na eth0).

Jeśli jest to zbyt szybka lub zbyt duża ilość informacji, przekieruj ją do pliku zrzutu, dodając:

 -s 0 -w /tmp/dump

i użyj np. wireshark do przeglądania pliku zrzutu. Możesz zobaczyć dokładne informacje o czasie w pliku i wiele więcej ...

Radek Hladík
źródło
1

Gdy użyłem Spybot, wstawiałoby około 50 000 wpisów w plikach hostów, które przekierowały znane złośliwe strony do 127.0.0.1. Nigdy nie zauważyłem żadnych problemów z długim plikiem tego typu. Prawdopodobnie ma więcej wspólnego z konfiguracją dewelopera lub samym kodem. Ile witryn obsługujesz lokalnie (50?) Czy każdy z nich tak długo odpowiada, gdy obecnych jest 50 wpisów?

iainlbc
źródło
Tak, jestem pewien, że nie ma to nic wspólnego z samymi witrynami, działały idealnie na moim innym komputerze Mac (Snow Leopard). Teraz w Lion zmieniła się tylko konfiguracja serwera i plik hosts. I tak, wszystkie ładują się w tym samym czasie. I zawsze w części Wyszukiwanie DNS.
Zenklys,
0

Z różnych powodów mam pliki hostów na niektórych komputerach z setkami wpisów. Nie ma to wpływu na wyszukiwanie DNS po prostu dlatego, że gdy maszyna znajdzie wpis w pliku hosts, nie będzie wyszukiwać tych samych informacji. Jeśli wszystko inne jest poprawnie skonfigurowane, uczenie rozmiaru pliku hosts nie wpłynie na wydajność, ponieważ nawet przy tysiącu wpisów, plik ten nadal może zostać przeanalizowany szybciej niż wyszukiwanie DNS. Sprawdź kolejność, w jakiej urządzenie rozpoznaje adresy. Plik hosts powinien być pierwszy.

John Gardeniers
źródło
Dziękuję za odpowiedź. Jak mogę sprawdzić zamówienie?
Zenklys,
@Zenklys, muszę odpowiedzieć komuś o wiele bardziej doświadczonemu w Linuksie, aby odpowiedzieć na to za ciebie.
John Gardeniers,
0

Na podstawie moich testów plik hosta o wielkości 34 MB z kilkoma milionami wpisów nieco spowalnia przeglądanie w systemie Windows, nawet gdy usługa „Klient DNS” jest wyłączona. Istnieje więc maksymalny rozmiar, powyżej którego prawdopodobnie nie chcesz iść.

grawitacja
źródło