我正在使用谷歌开放DNS。如何测量 DNS 服务器的速度?
答案1
如果您只想计算单个记录的查找时间,请使用time dig a foobar.com @8.8.8.8
。这种测试方法确实不是那么好,因为在第一次查找之后,您将获得缓存的结果,并且任何离您较近的服务器都会给您最快的响应。
名册可能就是您正在寻找的工具。它根据浏览器缓存中的域、流行记录列表中的随机记录等进行查找。它具有高度可配置性,可以测试您的首选 DNS 服务器列表、记录列表等。
答案2
您可以使用以下命令:
dig YOURDOMAIN +nssearch
答案3
这对我的 bash 提示很有帮助。我遇到了名称服务器随机超时的问题。您需要 dig 实用程序,该实用程序不是最小安装的默认设置。你可以通过安装来获取
$ yum install bind-utils
对于 Fedora/RedHat/CentOS 或
$ apt install dnsutils
对于 Ubuntu/Debian
$ while true; do dig www.google.com | grep time; sleep 2; done
这会产生如下输出:
;; Query time: 2 msec
;; Query time: 1 msec
;; connection timed out; no servers could be reached
;; Query time: 1 msec
;; Query time: 53 msec
;; connection timed out; no servers could be reached
;; connection timed out; no servers could be reached
;; Query time: 2 msec
;; Query time: 5 msec
;; Query time: 3 msec
在健康的连接上,一次查询不应超过 2 毫秒。
答案4
1.dnsperf
dnsperf 和 resperf 是由 Nominum/Akamai(2006-2018 年)和 DNS-OARC(自 2019 年起)开发的免费工具,可以轻松收集域名服务 (DNS) 的准确延迟和吞吐量指标。这些工具易于使用并模拟典型的互联网,因此网络运营商可以对其命名和寻址基础设施进行基准测试并制定升级计划。最新版本的 dnsperf 和 resperf 可与包含 IPv6 查询的测试文件一起使用。
从 Git 存储库构建
git clone https://github.com/DNS-OARC/dnsperf.git
cd dnsperf
./autogen.sh
./configure [options]
make
make install
笔记
二进制文件将被编译到./srt
目录中
简单的配置文件
它的名字是数据
shakiba.net A
运行测试
-d data
用于配置文件(见上文)
./src/dnsperf -s 1.1.1.1 -d data -c 10 -l 10 -Q 100
这意味着
-s
源IP地址==要查询的DNS服务器-d
从此文件中读取记录-c
客户数量-l
这段时间内(10 秒)-Q
发送此号码的查询
这里 10 个客户端 + 100 个查询 => 1000 个请求
样本输出
Statistics:
Queries sent: 1000
Queries completed: 1000 (100.00%)
Queries lost: 0 (0.00%)
Response codes: NOERROR 1000 (100.00%)
Average packet size: request 34, response 87
Run time (s): 10.075874
Queries per second: 99.246974
Average Latency (s): 0.083850 (min 0.080296, max 0.091041)
Latency StdDev (s): 0.001694
2.DNS诊断
DNS 测量、故障排除和安全审核工具集
有没有想过您的 ISP 是否劫持了您的 DNS 流量?您是否曾观察到您的 DNS 响应有任何不当行为?曾经被重定向到错误的地址并怀疑您的 DNS 有问题吗?在这里,我们有一组工具可以对您的 DNS 请求和响应执行基本审核,以确保您的 DNS 按您的预期工作。
通过 Docker 使用
docker run -it --rm farrokhi/dnsdiag /bin/bash
示例命令
./dnseval.py -t A -f public-servers.txt -c10 shakiba.net
意思是
-t
查询类型例如A
-f
读取配置文件-c
查询次数
配置文件
文件公共服务器.txt包含要查询的 DNS 服务器列表,例如
#Cloudflare
1.0.0.1
1.1.1.1
样本测试+输出
./dnseval.py -t A -f public-servers.txt -c10 shakiba.net
server avg(ms) min(ms) max(ms) stddev(ms) lost(%) ttl flags response
---------------------------------------------------------------------------------------------------------------
1.0.0.1 7.301 6.502 11.736 1.566 %0 298 QR -- -- RD RA -- -- NOERROR
1.1.1.1 6.816 6.195 8.433 0.622 %0 297 QR -- -- RD RA -- -- NOERROR