使用queryperf对DNS服务器作压力测试


  • 一、querperf简介

    当我们把DNS服务器配置好后,我们肯定会想测试一下DNS服务器的性能如何,上线后如果请求数够多服务器还能否响应?于是,我们可以使用软件模拟环境,对DNS服务器作评估性的测试。在bind中,有一款自带的压力测试软件,queryperf。使用这款软件可以对DNS服务器作请求测试,并且使用方法简单,我们可以使用queryperf测试多次,取一个平均值,这样就算结果不准确,也不会和实际情况相差太大。

     

    二、queryperf安装

    1、queryperf是bind自带的测试软件,所以我们直接上官网下载bind,解压后就能找到queryperf的安装包。

    wget http://www.isc.org/downloads/file/bind-9-8-7rc2/?version=tar.gz

    wKiom1MpEz-hZ0ocAAIK9ip2WLc373.jpg

     

    2、不知道为什么,这个文件下载完成后的名字是这个,index.html\?version\=tar.gz,好吧我们解压吧。

    tar xf index.html\?version\=tar.gz

     

    3、解压后,找到目录 contrib ,bind自带的第三方软件全在这个目录里面,我们要用到的queryperf也在里面。

    wKiom1MpFDDR_dUvAAIzTcLFjno930.jpg

     

    4、进入queryperf目录,开始编译安装。可以使用 ./configure -h 查看安装帮助,不过我们默认安装就行了。

     

    ./configure

    wKiom1MpFQzTgDcRAAOYT1NLEWM001.jpg

     

    make

    wKioL1MpFSLCGPh6AAChjcGsuBg257.jpg

     

    5、通过上面的编译后,展开queryperf目录,在该目录下已经生成了一个queryperf的可执行文件。这个文件就是我们要用到的程序,我们把该程序移动到/usr/bin/目录下就可以使用了。

    cp queryperf /usr/bin/

    wKioL1MpFhCgsc1_AADn-satgWE946.jpg

     

    三、使用queryperf测试DNS服务器

    在测试之前,我们先把DNS服务器架设好。我们以域名wubinary.com为例,架设DNS服务器,dns.wubinary.com。

    1、wubinary.com区域的资源记录文件wubinary.com.zone内容如下。

    wKioL1MpGfzyYovVAAFA-Vc1R4Y093.jpg

     

    2、测试DNS服务器能否正常使用。

    重新启动服务:

    wKioL1MpF5XDWSFzAAEA7bruN_o588.jpg

     

    测试域名blog.wubinary.com

    wKiom1MpF6yTfnlIAALCvC3S8Ck481.jpg

     

    DNS服务器工作正常,接下来可以使用queryperf作压力测试了。

     

    3、queryperf使用格式:

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

     

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

    -s: DNS服务器地址

    -p: DNS服务器端口

    -q: 请求多少次

     4、性能测试。

    使用vim命令先创建一个请求文件:vim querytest.txt

    wKioL1MpHNKz7q_aAACEirMOnzo801.jpg

     

    这几条记录还远远不够,我们使用vim命令 1,$y 复制一下。

    wKiom1MpHfyiQrMxAACApnGYbnU950.jpg

     

    六百多万条了,开始测试吧。

     

    执行命令:

    queryperf -d querytest.txt -s 192.168.0.6

     

    此时使用top命令可以看到CPU和内存的使用率。

    wKiom1MpHoWQYEY2AAMN4sPCmXY928.jpg

     

    结果如下:

    wKioL1MpIDyg0dLBAAK9xQRtxGU728.jpg

     

    测试过程完成,可以多测试几次取平均值。

     

    四、性能测试总结

    1、在作服务器的性能测试时,最好不要在服务器平台自身使用测试软件测试,最好换另外一台机器,这样CPU处理的结果会更准确。

    2、测试时先预估平台会遇到的最大请求数,用这个请求数作测试,量力而为,因为如果服务器遇到大流量的DDOS,单一机器性能再好,也扛不住。

    3、使用queryperf作性能测试时,最好测试多次,取平均值。

    4、可以修改配置文件的部分参数测试,如,开启递归,开启查询日志等功能作测试。

    5、其它开源测试工具,tcpcopy

  • 也可以直接使用shell脚本来实现数据增加:

  •  C++ Code 
    1
    2
    3
    4
    : for d in `seq  1  1000000`
    do
    echo  "www.xxx.com A" >> aa
    done
    或者

  •  C++ Code 
    1
    2
    3
    4
    5
    6
    7
    8
    #!/bin/sh
    var= 1
    while [ $var -le  10000 ]
    do
    echo  "www.rootman.cn A " >> test.txt
    var=$(($var +  1 ))
    done
    exit  0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值