DNS BIND 压力测试 - queryperf
·
当我们把DNS服务器配置好后,我们肯定会想测试一下DNS服务器的性能如何,上线后如果请求数够多服务器还能否响应?于是,我们可以使用软件模拟环境,对DNS服务器作评估性的测试。在bind中,有一款自带的压力测试软件,queryperf。使用这款软件可以对DNS服务器作请求测试,并且使用方法简单,我们可以使用queryperf测试多次,取一个平均值,这样就算结果不准确,也不会和实际情况相差太大。
1.安装
不过我们默认安装就行了。
./configure
make
通过上面的编译后,展开queryperf目录,在该目录下已经生成了一个queryperf的可执行文件。这个文件就是我们要用到的程序,我们把该程序移动到/usr/bin/目录下就可以使用了。
cp queryperf /usr/bin/
2.测试DNS服务器
queryperf使用格式:
queryperf [-d datafile] [-s server_addr] [-p port] [-q num_queries]
-d: 后面接上一个文件,文件的内容是用户对DNS的请求,一行为一条请求,所以为了测试,我们可以在里面写上几千几万条。
-s: DNS服务器地址
-p: DNS服务器端口
-q: 指定查询的输出的最大数量
使用vim命令先创建一个请求文件:vim querytest.txt
执行测试命令:
3.性能测试总结
1、在作服务器的性能测试时,最好不要在服务器平台自身使用测试软件测试,最好换另外一台机器,这样CPU处理的结果会更准确。
2、测试时先预估平台会遇到的最大请求数,用这个请求数作测试,量力而为,因为如果服务器遇到大流量的DDOS,单一机器性能再好,也扛不住。
3、使用queryperf作性能测试时,最好测试多次,取平均值。
4、可以修改配置文件的部分参数测试,如,开启递归,开启查询日志等功能作测试。
5、其它开源测试工具, tcpcopy
1.安装
queryperf是bind自带的测试软件,所以我们直接上官网下载bind,解压后就能找到queryperf的安装包。解压后,找到目录 contrib ,bind自带的第三方软件全在这个目录里面,我们要用到的queryperf也在里面。
ll contrib/
-rw-r--r-- 1 slim slim 4181 Feb 18 09:56 check5011.pl
-rw-rw-r-- 1 slim slim 3919 Apr 17 15:58 check-secure-delegation.pl
-rw-r--r-- 1 slim slim 3900 Feb 18 09:56 check-secure-delegation.pl.in
drwxr-xr-x 2 slim slim 4096 Apr 17 15:58 dane
drwxr-xr-x 6 slim slim 4096 Apr 17 15:58 dlz
drwxr-xr-x 3 slim slim 4096 Apr 17 15:58 idn
drwxr-xr-x 2 slim slim 4096 Apr 17 15:58 linux
drwxr-xr-x 2 slim slim 4096 Apr 17 15:58 named-bootconf
drwxr-xr-x 2 slim slim 4096 Apr 17 15:58 nanny
drwxr-xr-x 3 slim slim 4096 Apr 17 15:58 nslint-2.1a3
drwxr-xr-x 2 slim slim 4096 Apr 17 15:58 perftcpdns
drwxr-xr-x 2 slim slim 4096 Apr 17 15:58 pkcs11-keygen
drwxr-xr-x 2 slim slim 4096 Apr 17 15:58 query-loc-0.4.0
drwxr-xr-x 5 slim slim 4096 Apr 17 15:58 queryperf
-rw-r--r-- 1 slim slim 1462 Feb 18 09:56 README
drwxr-xr-x 9 slim slim 4096 Apr 17 15:58 sdb
drwxr-xr-x 5 slim slim 4096 Apr 17 15:58 zkt
-rw-rw-r-- 1 slim slim 3414 Apr 17 15:58 zone-edit.sh
-rw-r--r-- 1 slim slim 3386 Feb 18 09:56 zone-edit.sh.in
进入queryperf目录,开始编译安装。可以使用 ./configure -h 查看安装帮助,可以指定安装目录,以及bind相关目录,不过我们默认安装就行了。
./configure
make
通过上面的编译后,展开queryperf目录,在该目录下已经生成了一个queryperf的可执行文件。这个文件就是我们要用到的程序,我们把该程序移动到/usr/bin/目录下就可以使用了。
cp queryperf /usr/bin/
2.测试DNS服务器
queryperf使用格式:
queryperf [-d datafile] [-s server_addr] [-p port] [-q num_queries]
-d: 后面接上一个文件,文件的内容是用户对DNS的请求,一行为一条请求,所以为了测试,我们可以在里面写上几千几万条。
-s: DNS服务器地址
-p: DNS服务器端口
-q: 指定查询的输出的最大数量
使用vim命令先创建一个请求文件:vim querytest.txt
www.baidu.com A
www.baidu.cn cname
www.zhutianwei.cn A
zhutianwei.cn NS
3evip.cn MX
pop3.3evip.cn cname
www.slimsmart.cn A
slimsmart.cn NS
www.7k9.cn A
test.7k9.cn A这几条记录还远远不够,我们可以多添加写记录,上万条。
执行测试命令:
$ queryperf -d querytest.txt -s 192.168.110.71
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 192.168.110.71)
[Status] Testing complete
Statistics:
Parse input file: once
Ended due to: reaching end of file
Queries sent: 1756920 queries
Queries completed: 1756920 queries
Queries lost: 0 queries
Queries delayed(?): 0 queries
RTT max: 0.272069 sec
RTT min: 0.000071 sec
RTT average: 0.001332 sec
RTT std deviation: 0.001199 sec
RTT out of range: 0 queries
Percentage completed: 100.00%
Percentage lost: 0.00%
Started at: Thu Apr 23 13:05:46 2015
Finished at: Thu Apr 23 13:07:44 2015
Ran for: 117.916566 seconds
Queries per second: 14899.687632 qpsQPS:14899.687632,可以多测试几次取平均值。
3.性能测试总结
1、在作服务器的性能测试时,最好不要在服务器平台自身使用测试软件测试,最好换另外一台机器,这样CPU处理的结果会更准确。
2、测试时先预估平台会遇到的最大请求数,用这个请求数作测试,量力而为,因为如果服务器遇到大流量的DDOS,单一机器性能再好,也扛不住。
3、使用queryperf作性能测试时,最好测试多次,取平均值。
4、可以修改配置文件的部分参数测试,如,开启递归,开启查询日志等功能作测试。
5、其它开源测试工具, tcpcopy
参考文章:
更多推荐



所有评论(0)