• DNS使用queryperf进行压力测试


    一、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 -O /tmp/queryperf.tar.gz
    

    2、解压

    cd /tmp
    tar -zxvf queryperf.tar.gz
    

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

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

    ./configure
    

    make
    

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

    cp queryperf /usr/bin/
    

    三、使用queryperf测试DNS服务器

    在测试之前,我们先把DNS服务器架设好。我们以域名test.com为例,架设DNS服务器,dns.test.com。
    1、test.com区域的资源记录文件test.com.zone内容如下。

    $TTL 600
    @    IN  SOA dns.test.com. dnsadmin.test.com.(
                 2020022320
                 2H
                 4M
                 1D
                 2D)
    @    IN  NS dns.test.com.
    @    IN  MX 10  mail.test.com.
    dns  IN  A 192.168.0.1
    mail IN  A 192.168.0.2
    www  IN  A 192.168.0.3
    ftp  IN  A 192.168.0.4
    

    2、测试DNS服务器能否正常使用。
    重新启动服务:

    named-checkconf
    named-checkconf "test.com" test.com.zone
    service named reload
    

    测试域名blog.test.com

    dig -t A blog.test.com @192.168.0.1
    

    看到解析结果后,DNS服务器工作正常,接下来可以使用queryperf作压力测试了。
    3、queryperf使用格式:
    queryperf [-d datafile] [-s server_addr] [-p port] [-q num_queries]
    -d: 后面接上一个文件,文件的内容是用户对DNS的请求,一行为一条请求,所以为了测试,我们可以在里面写上几千几万条。
    -s: DNS服务器地址
    -p: DNS服务器端口
    -q: 请求多少次
    使用vim命令先创建一个请求文件:vim querytest.txt

    www.test.com  A
    test.com      NS
    blog.test.com  A
    

    这几条记录还远远不够,通过循环写入创造600万+的数据。
    4、性能测试。
    执行命令:
    queryperf -d querytest.txt -s 192.168.0.1
    此时使用top命令可以看到CPU和内存的使用率。

    结果如下:

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

    四、性能测试总结

    1、在作服务器的性能测试时,最好不要在服务器平台自身使用测试软件测试,最好换另外一台机器,这样CPU处理的结果会更准确。
    2、测试时先预估平台会遇到的最大请求数,用这个请求数作测试,量力而为,因为如果服务器遇到大流量的DDOS,单一机器性能再好,也扛不住。
    3、使用queryperf作性能测试时,最好测试多次,取平均值。
    4、可以修改配置文件的部分参数测试,如,开启递归,开启查询日志等功能作测试。
    5、其它开源测试工具,tcpcopy

    本文来自博客园,作者:sunnydoy,转载请注明原文链接:https://www.cnblogs.com/sunnydou/p/15087728.html

  • 相关阅读:
    《ASP.NET2.0揭秘》读书笔记——构建组合控件
    《ASP.NET2.0揭秘》读书笔记——构建自定义控件前你必须思考的两个问题
    《ASP.NET2.0揭秘》读书笔记——构建混合控件
    jQuery.bind事件 详解
    High Performance JavaScript(高性能JavaScript)读书笔记
    HTML5 新标签总汇
    前端攻略系列(三) javascript 设计模式(文章很长,请自备瓜子,水果和眼药水)
    node.js 初体验
    Fiddler 前端开发值得拥有
    JavaScript实现 页面滚动图片加载
  • 原文地址:https://www.cnblogs.com/sunnydou/p/15087728.html
Copyright © 2020-2023  润新知