Một tập tin dài / etc / hosts có thể tra cứu DNS chậm không?


9

Tôi đang đối mặt với một câu hỏi nhỏ ở đây. Tôi có một /etc/hoststập tin dài . (làm việc trong web, vì vậy tôi đang lưu trữ rất nhiều trang web tại địa phương để phát triển). Hãy nói rằng nó dài khoảng 40, 50 dòng. Tất cả chuyển hướng đến 127.0.0.1.

Bây giờ khi kiểm tra trình kiểm tra của Chrome, có vẻ như các trang web địa phương của tôi đang tải chậm do phần Tra cứu DNS. Trên một mygreatwebsite.localurl cũng được xác định trong /etc/hoststập tin.

Sau khi kiểm tra nhanh, có vẻ như việc giảm hoststệp xuống một vài dòng, sẽ tăng tốc đáng kể phần tra cứu DNS. Vì vậy, câu hỏi của tôi, có thể phải đối mặt với sự khác biệt khoảng 5 giây cho 50 dòng, và thời gian không đáng kể cho một vài dòng? Hay tôi hoàn toàn thiếu một cái gì đó?


Bao lâu? Tôi đã sử dụng> 20000 tệp lưu trữ dòng (mặc dù không có DNS liên quan). Trông không mất nhiều thời gian đáng chú ý ...
Gert van den Berg

Câu trả lời:


18

Tld .local của bạn có thể là vấn đề, zeroconf sử dụng cái này. Không có tiêu chuẩn thực sự, nhưng tld được đề xuất cho một tld nội bộ là .site hoặc .iternal. Xem http://en.wikipedia.org/wiki/Top-level_domain#Pseudo-domains để biết điều này.


1
Thật vậy, tôi đã nhận thấy tăng hiệu suất tuyệt vời khi sử dụng phần mở rộng .site. Sau một nghiên cứu nhỏ, nó dường như là giao thức Bonjour của apple sử dụng .local tld.
Zenklys

Tôi đã tham gia StackExchange chỉ để nói CẢM ƠN bạn về mẹo tuyệt vời này. Ứng dụng của tôi mất khoảng 10 - 15 giây chỉ để tải tài sản và khiến nhà phát triển của tôi gặp ác mộng. Sử dụng .site TLD có các trang tải lại tất cả linh hoạt. Tuyệt vời. Sidenote: Ai đó cần đề cập đến mẩu tin này cho tất cả các blogger / screencasters sử dụng .local!
Steven Garcia

5

Một tập tin dài / etc / hosts có thể tra cứu DNS chậm không?

Câu trả lời là , trong một máy Windows (XP / Vista / 7).

Một vấn đề được biết đến là một tệp lưu trữ dài không hoạt động tốt với dịch vụ "Máy khách DNS".

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

trong hầu hết các trường hợp, tệp HOSTS lớn (trên 135 kb) có xu hướng làm chậm máy.

[Giải pháp: Đặt dịch vụ "Máy khách DNS" thành thủ công hoặc bị tắt]

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

Lưu ý rằng tệp lưu trữ lớn hơn 100 KB thực sự có thể làm chậm quá trình duyệt trừ khi dịch vụ "Máy khách DNS" được đặt thành khởi động thủ công.

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

Điều quan trọng nhất cần làm trước khi sử dụng các tệp HOSTS lớn là vô hiệu hóa dịch vụ Máy khách tên miền ("Máy khách DNS" hoặc "DnsCache") trên máy của bạn. Nghe có vẻ kỳ quái, nhưng máy khách DNS không cần thiết để làm DNS. Tồi tệ hơn, nếu bạn có tệp HOSTS lớn (đó là những gì tôi đề xuất), máy khách DNS sẽ làm nghẹt toàn bộ PC của bạn.

... Và cá nhân tôi đã chứng kiến ​​điều này trên ba máy Windows khác nhau: XP Pro, Vista và 7 Starter.


Quan điểm thú vị. Tôi không biết điều đó. Nhưng câu hỏi này liên quan đến môi trường Mac Os. ;)
Zenklys

2

Tôi sẽ đề nghị sử dụng tcpdump để xem những gì đang thực sự xảy ra. Không có nó bạn sẽ chỉ đoán được.

Cú pháp cơ bản sẽ là

tcpdump -n -i eth0 port 80 or port 53

(nếu bạn muốn xem các cổng 80 và 53, -n để ngăn việc tra cứu DNS, giả sử tất cả sự hài hước đang diễn ra trên eth0).

Nếu thông tin này quá nhanh hoặc quá nhiều thông tin, hãy chuyển hướng nó đến dumpfile bằng cách thêm:

 -s 0 -w /tmp/dump

và sử dụng tức là wireshark để xem xét các bãi rác. Bạn có thể xem thông tin thời gian chính xác trong tệp và nhiều hơn nữa ...


1

Khi tôi sử dụng Spybot, nó sẽ chèn khoảng 50.000 mục lưu trữ tệp chuyển hướng các trang web độc hại đã biết đến 127.0.0.1. Tôi không bao giờ nhận thấy bất kỳ vấn đề nào từ việc có một tệp lưu trữ dài có tính chất này. Có khả năng có nhiều việc phải làm với thiết lập dev của bạn hoặc chính mã. Có bao nhiêu trang web bạn đang phục vụ tại địa phương (50?) Có phải mọi người trong số họ mất nhiều thời gian để trả lời khi có 50 mục không?


Vâng, tôi chắc chắn rằng nó không liên quan gì đến các trang web, chúng chạy hoàn hảo trên máy mac khác của tôi (Snow Leopard). Bây giờ trên Lion, chỉ có cấu hình máy chủ và tệp máy chủ đã thay đổi. Và vâng, tất cả đều mất cùng thời gian để tải. Và luôn luôn trên phần Tra cứu DNS.
Zenklys

0

Vì nhiều lý do, tôi có các tệp lưu trữ trên một số máy có hàng trăm mục nhập. Điều này không ảnh hưởng đến việc tra cứu DNS đơn giản vì một khi máy đã tìm thấy một mục trong tệp máy chủ, nó sẽ không tìm kiếm thông tin tương tự. Nếu mọi thứ khác được định cấu hình chính xác, kích thước của tệp máy chủ sẽ không ảnh hưởng đến hiệu suất vì ngay cả khi có hàng nghìn mục, tệp vẫn có thể được phân tích cú pháp nhanh hơn so với thực hiện tra cứu DNS. Kiểm tra thứ tự mà máy của bạn đang phân giải địa chỉ. Các tập tin máy chủ nên là đầu tiên.


Cảm ơn, cho câu trả lời. Làm thế nào để tôi kiểm tra đơn hàng?
Zenklys

@Zenklys, tôi sẽ phải để lại cho một chuyên gia về Linux nhiều hơn để trả lời cho bạn.
John Gardeniers

0

Dựa trên thử nghiệm của tôi, một tệp lưu trữ 34 MB với một vài triệu mục làm chậm quá trình duyệt trong Windows một chút ngay cả khi dịch vụ "Máy khách DNS" bị tắt. Vì vậy, có một kích thước tối đa mà bạn có thể không muốn đi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.