Làm cách nào để tôi đánh giá hiệu suất của việc tra cứu DNS bên ngoài?


14

Tôi đang xem xét các máy chủ DNS công cộng của Google là DNS bên ngoài cho mạng của mình. Hiện tại tôi đang sử dụng các máy chủ DNS từ ISP của tôi. Trước đây tôi cũng đã xem OpenDNS, nhưng cuối cùng quyết định không nhảy.

Tôi muốn có thể điểm chuẩn các máy chủ tương ứng có thể phục vụ các yêu cầu DNS của chúng tôi nhanh như thế nào. Tôi thấy không có gì trong nslookup sẽ giúp.

Làm cách nào tôi có thể kiểm tra thời gian khứ hồi cho DNS được cung cấp bên ngoài?

Câu trả lời:


5

Bạn có thể sử dụng chương trình chụp gói (lọc DNS) để theo dõi truy vấn DNS \ thời gian phản hồi. Bạn có thể chạy cái này trên máy hoặc trên máy chủ DNS nội bộ của bạn (nếu bạn có). Tất cả mọi thứ đều ít nhiều bằng nhau, điều này sẽ cung cấp cho bạn một ý tưởng chung về việc Google DNS được so sánh nhanh như thế nào với ISP của bạn.


5
Trình phân tích DNS của Wireshark không theo dõi yêu cầu / phản hồi. Bộ lọc hiển thị "dns.time" có thể được sử dụng để tìm thời gian phản hồi.
Gerald Combs

40

Bạn chỉ có thể đơn giản diggrep

$ dig @8.8.8.8   www.rimuhosting.com | grep "Query time:"
;; Query time: 15 msec
$ dig @4.2.2.1   www.rimuhosting.com | grep "Query time:"
;; Query time: 289 msec

13

Sử dụng Điểm chuẩn tốc độ tên miền của GRC .


Tôi đã kiểm tra công cụ này ... nó đá!
Mike L

2
Tôi đã dùng thử Điểm chuẩn của GRC sau khi chạy namebench của Google. Google cho biết nó sở hữu 8.8.4.4 nhanh hơn 21.1% so với các sản phẩm khác. Tuy nhiên, danh sách tùy chỉnh của GRC được thêm vào 8.8.4.4 cho thấy google là một trong những chậm nhất và chỉ nhanh hơn một chút so với DNS hiện tại của tôi được cung cấp bởi Comcast. Nhanh nhất là tất cả từ Truyền thông Cấp 3. Bây giờ tôi tin tưởng Điểm chuẩn DNS của GRC so với Google. Và GRC được viết theo cụm và chạy từ một tệp 184k. Ấn tượng!
Brian Boatright

Hãy cảnh giác với GRC nếu bạn không ở Hoa Kỳ. Nó dường như không kiểm tra nhiều (bất kỳ?) Máy chủ lưu trữ ngoài Hoa Kỳ.
NickG

3

Tôi cũng đã xem qua namebench - Tiện ích điểm chuẩn DNS nguồn mở của Google. Nó rất toàn diện.


liên kết hết hạn :-(
Pol Hallen

Phiên bản namebench được liên kết đến (v1.3) hiện đã khá cũ. Có kho lưu trữ (v2) được cập nhật trên GitHub: github.com/google/namebench hỗ trợ DNSSEC, điểm chuẩn CDN, v.v.
Patrick


2

Plugin Firebird cho Firefox và IE có tab "net" cung cấp cho bạn biểu thị đồ họa về thời gian tải cho mỗi yêu cầu tệp.

Nó chia nó thành hoạt động bao gồm tra cứu DNS, được hiển thị bằng màu xanh lá cây.


2

Kịch bản shell đơn giản qtest.sh có thể được sử dụng cho điều đó:

% qtest -n3 "A a.gtld-servers.net" 172.19.1.1 62.4.16,70 62.4,17,69 208,67.222.222  
3 172.19.1.1/172.19.1.1
49 62.4.17,69/62.4.17,69
61 208,67.222.222 / 208,67.222.222

Ở đây, 172.19.1.1một trình phân giải cục bộ, nhanh hơn, tiếp theo là trình phân giải ISP, sau đó là OpenDNS.


2

Tôi đã viết một đoạn script nhỏ để đánh giá kết nối với máy chủ DNS:

cat >test_dns_list_speed.sh
#!/usr/bin/env ksh
site="www.google.com"
IPfile="$1"
samples=$2

if [ ! -f "$IPfile" ] || ! echo "$samples"|egrep -q "[0-9]+" ; then
  echo "test_dns_list_speed.sh <file-ip-list> <samples>"
  echo "<file-ip-list>       newline separated list of DNS server IP adresses"
  echo "<samples>            how many DNS resolution samples to take"
  echo "PURPOSE:"
  echo "          collect statistics about response times from list of DNS servers"
  exit 1
fi

typeset -i i

while [ $i -lt $samples ]; do
  i=$i+1
  for IP in `cat $IPfile`; do
    time=`dig @$IP $site| awk '/Query time:/ {print " "$4}'`
    IPtrans=`echo $IP|tr \. _`
    eval `echo result$IPtrans=\"\\$result$IPtrans$time\"`
  done
done

for IP in `cat $IPfile`; do
  IPtrans=`echo $IP|tr \. _`
  printf "%-15s " "$IP"; echo -e `eval "echo \\$result$IPtrans"`|tr ' ' "\n"|awk '/.+/ {rt=$1; rec=rec+1; total=total+rt; if (minn>rt || minn==0) {minn=rt}; if (maxx<rt) {maxx=rt}; }
             END{ if (rec==0) {ave=0} else {ave=total/rec}; printf "average %5i     min %5i     max %5i ms %2i responses\n", ave,minn,maxx,rec}'
done

./test_dns_list_speed server_list 20
202.93.142.10   average   949     min   523     max  2229 ms 20 responses
202.93.142.20   average   897     min   515     max  2017 ms 20 responses
208.67.222.222  average  1235     min   530     max  3362 ms 20 responses
8.8.8.8         average   759     min   529     max  1624 ms 20 responses

1

Bạn có thể sử dụng ping để tìm hiểu mất bao lâu để một gói di chuyển qua lại giữa máy chủ của bạn và máy chủ DNS. Như một quy tắc chung: không bao giờ thay đổi những gì hoạt động.

Một bất lợi cho OpenDNS là các tên miền không tồn tại có thể phản hồi với một bản ghi A trỏ đến trang tìm kiếm của OpenDNS, vì chúng có xu hướng làm điều đó. Google hiện không làm điều đó, nhưng sẽ thật ngu ngốc khi cho rằng họ chỉ đơn giản là cung cấp trình phân giải DNS mà không có gì để kiếm được từ nó.


Nếu tôi có thể chia một câu trả lời, tôi sẽ có. Tôi thích thử nghiệm ping vì nó đơn giản. Tôi có thể để nó chạy với tất cả chúng, sau đó nhìn vào mức trung bình. Ở đây, tôi muốn xem xét thời gian phản hồi cho chính truy vấn đó ngoài chuyến đi khứ hồi cho các gói, vì vậy tôi đã chọn cách chụp gói. Nhiều công việc hơn để thiết lập và kiểm tra, nhưng chính xác hơn cho hiệu suất thực sự của máy chủ bên ngoài. Cảm ơn!
Mike L

1
Ý tưởng tồi để sử dụng ping. Không phải tất cả các máy chủ đều phản hồi ping và không có gì đảm bảo rằng thời gian phản hồi sẽ giống với DNS và với ICMP.
bortzmeyer

0

dnsevaltừ dnsdiag hoạt động như một nét duyên dáng trên windows linux và mac. (tốt hơn nhiều so với namebench lỗi thời) tải xuống trên github

Để sử dụng nó, trước tiên hãy viết một tệp văn bản mà mỗi DNS bạn muốn kiểm tra một dòng với địa chỉ IP của nó mylist.txt::

8.8.8.8
192.168.178.1

và sau đó chạy

./dnseval -f mylist.txt yahoo.com     # latency for cached sites
./dnseval -m -f mylist.txt yahoo.com  # latency for sites not in cache

Mặc dù điều này không kiểm tra kích thước bộ đệm của các máy chủ, nhưng nó là một cách tiếp cận dễ dàng và nhanh hơn nhiều và tôi hy vọng nó sẽ tương quan tốt với hiệu suất trong thế giới thực.

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.