第1章 安装
1.1下载安装包
wget https://www.isc.org/downloads/file/bind-9-12-2-p1/?version=tar-gz
mv index.html\?version\=tar-gz bind.tar.gz
1.2解压并进行编译
tar-zxvfbind.tar.gz
cd bind-9.12.2-P1/contrib/queryperf/
./configure
make
cp queryperf /usr/bin/
第2章 参数解释
-d指定输入数据文件(默认值:stdin)
-s将服务器设置为查询(默认值:127.0.0.1)
-p设置查询服务器的端口(默认值:53)
-q指定未完成的查询的最大数量(默认值:20)
-t指定查询完成的超时(以秒为单位)(默认值:5)
-n导致忽略配置更改
-l指定如何以秒为单位运行测试的时间限制(无默认值)
-1仅输入一次输入(默认值:给定多个iff限制)
-b设置输入/输出缓冲区大小,以千字节为单位(默认值:32 k)
-i指定中间输出的间隔(以秒为单位)(默认值:0 =无)
-f指定DNS传输的地址族,inet或inet6(默认值:任意)
-r设置RTT统计数组大小(默认值:50000)
-u在usec中设置RTT统计时间单位(默认值:100)
-H指定RTT直方图数据文件(默认值:无)
-T指定目标qps(默认值:0 =未指定)
-e启用EDNS 0
-D设置DNSSEC OK位(暗示EDNS)
-R禁用递归
-c打印每个rcode的包数
-v verbose:报告stdout上每个响应的RCODE
-h打印此用法
第3章 测试
3.1创建测试文件的脚本:
[root@ops-tmp-app-1 ~]# cat 1.sh
#!/bin/sh
var=1
while [ $var -le 5000 ]
do
cat>>test<<EOF
www.test.org A
EOF
var=$(($var + 1 ))
done
exit 0
3.2进行测试:
[root@ops-tmp-app-2 ~]# queryperf -d test -s 10.3.2.5
DNS Query Performance Testing Tool
Version: $Id: queryperf.c,v 1.12 2007/09/05 07:36:04 marka Exp $
[Status] Processing input data
[Status] Sending queries (beginning with 10.3.2.5)
[Status] Testing complete
Statistics:
Parse input file: once
Ended due to: reaching end of file
Queries sent: 5000 queries 发送的条数
Queries completed: 5000 queries 完成的条数
Queries lost: 0 queries
Queries delayed(?): 0 queries
RTT max: 0.005126 sec 单条对大查询
RTT min: 0.000094 sec 单条最小查询
RTT average: 0.000267 sec
RTT std deviation: 0.000280 sec
RTT out of range: 0 queries
Percentage completed: 100.00%
Percentage lost: 0.00%
Started at: Mon Mar 4 22:34:02 2019
Finished at: Mon Mar 4 22:34:42 2019
Ran for: 40.136582 seconds 总查询用时
Queries per second: 124.574634 qps 每秒查询次数