DNS 按钮显示域名服务器,然后单击
1、dnsperf简介
DNSPerf(DNS Performance)来自Prospect One公司,刚好最近研究 DNS 又想起这项服务。DNSPerf 从全世界超过两百个城市节点来检测各个 DNS 速度、反应时间及上线率(Uptime),除此之外,DNSPerf 还有针对一般使用者会用到的开放式 DNS 解析服务(Public DNS)进行监测记录,比较令我感到意外的是解析速度方面OpenDNS居然还比google DNS来得更快!有兴趣的朋友可以到 DNSPerf 看看测试结果,对于读者来说还是蛮有参考价值的。dnsperf目前的实现是单进程模式,通过epoll非阻塞地处理网络事件。
[root@Docker-03 ~]# yum install dnsperf
3、参数详解
## Dnsperf 支持下面的这些命令行参数:
-s 用来指定DNS服务器的IP地址,默认值是127.0.0.1
-p 用来指定DNS服务器的端口,默认值是53
-d 用来指定DNS消息的内容文件,该文件中包含要探测的域名和资源记录类型,见下文
-t 用来指定每个请求的超时时间,默认值是3000ms
-Q 用来指定本次压测的最大请求数,默认值是1000
-c 用来指定并发探测数,默认值是100. dnsperf会从-d指定的文件中随机选取100个座位探测域名来发送DNS请求
-l 用来指定本次压测的时间,默认值是无穷大
-e 本选项通过EDNS0,在OPT资源记录中运用edns-client-subnet来指定真实的client ip
-i 用来指定前后探测的时间间隔,因为dnsperf是一个压测工具,所以本选项目前还不支持
-P 指定用哪个传输层协议发送DNS请求,udp或者tcp。默认值是udp
-f 指定用什么地址类型发送DNS请求,inet或者inet6。默认值是inet
-v 除了标准的输出外,还输出每个相应码的个数
-h 打印帮助
-d选项指定数据文件名,数据文件示例如下,测试的次数和域名拷贝次数要一样:
# This is a comment and is ommited
# The columns after column 2 will be ommited if one line contains more than 3 colums.
www.App1.com A
数据文件中以“#”开头的行被认为是注释行,会被dnsperf忽略。
其中有效数据由两列组成,第一列是查询域名,第二列是查询的资源类型,dnsperf支持的资源类型如下:
A,NS,MD,MF,CNAME,SOA,MB,MG,MR,NULL,WKS,PTR,HINFO,MINFO,MX,TXT,AAAA,SRV,NAPTR,A6,ASFR,MAILB,MAILA,ANY
[root@RedHat_test opt]# dnsperf -c 1000 -d testfile -s 172.17.0.98
DNS Performance Testing Tool
Version 2.3.2
[Status] Command line: dnsperf -c1000-dtestfile -s172.17.0.98
[Status] Sending queries (to 172.17.0.98)
[Status] Started at: Wed Jan 1515:34:50 2020
[Status] Stopping after 1run through file
[Status] Testing complete (end of file)
Statistics:
Queries sent: 325336
Queries completed: 325336(100.00%)
Queries lost: 0(0.00%)
Response codes: NOERROR 325336(100.00%)
Average packet size: request 29, response 75
Run time (s): 3.624032
Queries per second: 89771.834244
Average Latency (s): 0.000990 (min 0.000335, max 0.016325)
Latency StdDev (s): 0.000441