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