第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传输的地址族,inetinet6(默认值:任意)

  -r设置RTT统计数组大小(默认值:50000

  -uusec中设置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     每秒查询次数