Linux下使用queryperf进行DNS服务器性能测试
目录
Linux下使用queryperf进行DNS服务器性能测试
一、queryperf介绍
queryperf是bind中一款自带的压力测试软件,这里使用这款软件可以对DNS服务器做请求测试,通过使用queryperf测试多次取平均值得到DNS服务器的性能。
二、queryperf的安装
wget官网下载即可:
wget -O bind-9-11-5.tar.gz
包解压安装:
tar -xf bind-9-11-5.tar.gz
进入queryperf目录进行编译安装
cd ./bind-9.11.5/contrib/queryperf && sh configure && make
编译安装完成移动可执行文件到/usr/bin/
cp -a queryperf /usr/bin/
三、queryperf的使用
使用格式:
Usage: queryperf [-d datafile] [-s server_addr] [-p port] [-q num_queries]
[-b bufsize] [-t timeout] [-n] [-l limit] [-f family] [-1]
[-i interval] [-r arraysize] [-u unit] [-H histfile]
[-T qps] [-e] [-D] [-R] [-c] [-v] [-h]
-d specifies the input data file (default: stdin)
-s sets the server to query (default: 127.0.0.1)
-p sets the port on which to query the server (default: 53)
-q specifies the maximum number of queries outstanding (default: 20)
-t specifies the timeout for query completion in seconds (default: 5)
-n causes configuration changes to be ignored
-l specifies how a limit for how long to run tests in seconds (no default)
-1 run through input only once (default: multiple iff limit given)
-b set input/output buffer size in kilobytes (default: 32 k)
-i specifies interval of intermediate outputs in seconds (default: 0=none)
-f specify address family of DNS transport, inet or inet6 (default: any)
-r set RTT statistics array size (default: 50000)
-u set RTT statistics time unit in usec (default: 100)
-H specifies RTT histogram data file (default: none)
-T specify the target qps (default: 0=unspecified)
-e enable EDNS 0
-D set the DNSSEC OK bit (implies EDNS)
-R disable recursion
-c print the number of packets with each rcode
-v verbose: report the RCODE of each response on stdout
-h print this usage
常用:queryperf [-d datafile] [-s server_addr] [-p port] [-q num_queries]
-d: 后面接文件,文件的内容是用户对DNS的请求,一行为一条请求,为了达到性能测试要求我们可以在里面不断往上增加条数,直至观察到瓶颈。
-s: DNS服务器地址
-p: DNS服务器端口
-q: 请求多少次