Bisakah file lama / etc / hosts memperlambat pencarian DNS?

9

Saya menghadapi sedikit pertanyaan di sini. Saya punya /etc/hostsfile yang panjang . (bekerja di web, jadi saya hosting banyak situs secara lokal untuk dikembangkan). Katakanlah panjangnya sekitar 40, 50 baris. Semua dialihkan ke 127.0.0.1.

Sekarang ketika memeriksa inspektur Chrome, sepertinya halaman web lokal saya memuat dengan lambat karena bagian Pencarian DNS. Pada mygreatwebsite.localurl juga ditentukan dalam /etc/hostsfile.

Setelah pemeriksaan cepat, tampaknya mengurangi hostsfile menjadi beberapa baris, secara drastis mempercepat bagian pencarian DNS. Jadi pertanyaan saya, apakah mungkin dihadapkan dengan perbedaan sekitar 5 detik untuk 50 baris, dan waktu yang tidak signifikan untuk beberapa baris? Atau apakah saya benar-benar kehilangan sesuatu?

Zenklys
sumber
Berapa lama? Saya telah menggunakan> 20.000 file host garis (tidak melibatkan DNS). Sepertinya tidak butuh waktu lama ...
Gert van den Berg

Jawaban:

18

Tld .local Anda bisa jadi masalahnya, zeroconf menggunakan ini. Tidak ada standar nyata, tetapi tld yang disarankan untuk tld internal adalah .site atau .internal. Lihat http://en.wikipedia.org/wiki/Top-level_domain#Pseudo-domains untuk ini.

ott--
sumber
1
Memang, saya perhatikan peningkatan kinerja yang luar biasa saat menggunakan ekstensi situs. Setelah sedikit riset, sepertinya protokol Bonjour dari apel yang menggunakan .local tld.
Zenklys
Saya bergabung dengan StackExchange hanya untuk mengucapkan terima kasih atas tip yang luar biasa ini. Aplikasi saya butuh 10-15 detik hanya untuk memuat aset dan membuat pengalaman dev saya mimpi buruk. Menggunakan .site TLD memiliki halaman memuat semua tajam lagi. Luar biasa. Sidenote: Seseorang perlu menyebutkan berita gembira ini ke semua blogger / screencasters yang menggunakan .local!
Steven Garcia
5

Bisakah file lama / etc / hosts memperlambat pencarian DNS?

Jawabannya adalah ya , di mesin Windows (XP / Vista / 7).

Ini adalah masalah yang diketahui bahwa file host panjang tidak berfungsi dengan baik dengan layanan "Klien DNS".

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

dalam kebanyakan kasus file HOSTS besar (lebih dari 135 kb) cenderung memperlambat mesin.

[Solusi: Setel layanan "Klien DNS" ke manual atau dinonaktifkan]

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

Perhatikan bahwa file host yang lebih dari 100 KB sebenarnya dapat memperlambat penelusuran kecuali layanan "Klien DNS" diatur ke mulai manual.

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

Hal terpenting yang harus dilakukan sebelum menggunakan file HOSTS besar adalah menonaktifkan layanan Domain Name Service ("DNS Client" atau "DnsCache") pada mesin Anda. Kedengarannya aneh, tetapi klien DNS tidak perlu melakukan DNS. Lebih buruk lagi, jika Anda memiliki file HOSTS besar (yang saya sarankan), klien DNS mencekik seluruh PC Anda.

... dan saya secara pribadi telah menyaksikan ini pada tiga mesin Windows yang berbeda: XP Pro, Vista, dan 7 Starter.

Tero Niemi
sumber
Sudut pandang yang menarik. Saya tidak tahu itu. Tetapi pertanyaan ini menyangkut lingkungan Mac Os. ;)
Zenklys
2

Saya akan menyarankan menggunakan tcpdump untuk melihat apa yang sebenarnya terjadi. Tanpanya, Anda hanya akan menebak.

Sintaks dasarnya adalah

tcpdump -n -i eth0 port 80 or port 53

(jika Anda tertarik melihat port 80 dan 53, -n untuk mencegah pencarian DNS, seandainya semua komunikasi sedang berlangsung pada eth0).

Jika ini terlalu cepat atau terlalu banyak informasi, arahkan kembali ke dumpfile dengan menambahkan:

 -s 0 -w /tmp/dump

dan gunakan wireshark yaitu untuk melihat ke dalam dumpfile. Anda dapat melihat informasi waktu yang tepat dalam file dan banyak lagi ...

Radek Hladík
sumber
1

Ketika saya menggunakan Spybot itu akan menyisipkan sekitar 50.000 entri file host yang mengarahkan situs jahat yang dikenal ke 127.0.0.1. Saya tidak pernah melihat ada masalah dari memiliki file host panjang seperti ini. Mungkin lebih berkaitan dengan pengaturan dev Anda atau kode itu sendiri. Berapa banyak situs yang Anda layani secara lokal (50?) Apakah setiap orang di antara mereka butuh waktu lama untuk merespons ketika 50 entri hadir?

iainlbc
sumber
Ya, saya yakin itu tidak ada hubungannya dengan situs itu sendiri, mereka berjalan dengan sempurna di mac saya yang lain (Snow Leopard). Sekarang di Lion, hanya konfigurasi server dan file host telah berubah. Dan ya, mereka semua mengambil waktu yang sama untuk memuat. Dan selalu pada bagian Pencarian DNS.
Zenklys
0

Untuk berbagai alasan saya memiliki file host pada beberapa mesin dengan ratusan entri. Ini tidak memiliki dampak pada pencarian DNS hanya karena begitu mesin telah menemukan entri dalam file host itu tidak akan melakukan pencarian untuk informasi yang sama. Jika semuanya dikonfigurasi dengan benar, maka ukuran file host tidak akan memengaruhi kinerja karena bahkan dengan ribuan entri, file tersebut masih dapat diuraikan lebih cepat daripada melakukan pencarian DNS. Periksa urutan mesin Anda menyelesaikan alamat. File host harus menjadi yang pertama.

John Gardeniers
sumber
Terima kasih atas jawabannya. Bagaimana saya memeriksa pesanan?
Zenklys
@ Zenklys, saya harus menyerahkannya kepada seseorang yang jauh lebih ahli dalam Linux untuk menjawabnya untuk Anda.
John Gardeniers
0

Berdasarkan pengujian saya, file host 34 MB dengan beberapa juta entri memperlambat browsing di Windows bahkan ketika layanan "Klien DNS" dinonaktifkan. Jadi, ada ukuran maksimum di luar yang Anda mungkin tidak ingin pergi.

gravitasi
sumber