DNS压力测试

queryperf  集成在 <= BIND 9.12.4 的版本中。

 

安装 queryperf

cd /usr/local/src
wget http://ftp.isc.org/isc/bind9/9.12.4/bind-9.12.4.tar.gz

// 编译queryperf
tar -zxvf bind-9.12.4.tar.gz
cd /usr/local/src/bind-9.12.4/contrib/queryperf
./configure; make     # 会生成queryperf 二进制文件
cp queryperf /usr/bin

 

queryperf 格式

queryperf [-d datafile] [-s server_addr] [-p port] [-q num_queries]

-d: 后面接上一个文件,文件的内容是用户对DNS的请求,一行为一条请求,所以为了测试,我们可以在里面写上几千几万条。

-s: DNS服务器地址

-p: DNS服务器端口

-q: 请求多少次

 

批量生产记录sh脚本

cat gen_record.sh

#!/bin/sh
#a_record="ns2.paiconf.com"

a_record=$1
num=$2
file_path=$3

if [ ${a_record} -a ${num} -a ${file_path} ]; then
    var=1
    while [ $var -le ${num} ]; do
        echo "${a_record} A " >> ${file_path}
        var=$(($var + 1 ))
    done
else
    echo "use: ./sh [a_record] [num] [file_path]"
fi

 

使用方法

./gen_record.sh www.baidu.com 10000 dnstest.txt

 

 

DNS压力测试示例

queryperf -d dnstest.txt -s 10.100.3.2 

 

 

其他开源测试工具

  • tcpcopy

 

posted on 2018-04-26 14:50  林肯公园  阅读(1200)  评论(0编辑  收藏  举报

导航