1、querperf简介html
当咱们把DNS服务器配置好后,咱们确定会想测试一下DNS服务器的性能如何,上线后若是请求数够多服务器还可否响应?因而,咱们可使用软件模拟环境,对DNS服务器做评估性的测试。在bind中,有一款自带的压力测试软件,queryperf。使用这款软件能够对DNS服务器做请求测试,而且使用方法简单,咱们可使用queryperf测试屡次,取一个平均值,这样就算结果不许确,也不会和实际状况相差太大。
vim
2、queryperf安装服务器
一、queryperf是bind自带的测试软件,因此咱们直接上官网下载bind,解压后就能找到queryperf的安装包。tcp
wget http://www.isc.org/downloads/file/bind-9-8-7rc2/?version=tar.gz
二、不知道为何,这个文件下载完成后的名字是这个,index.html\?version\=tar.gz,好吧咱们解压吧。ide
tar xf index.html\?version\=tar.gz
三、解压后,找到目录 contrib ,bind自带的第三方软件全在这个目录里面,咱们要用到的queryperf也在里面。工具
四、进入queryperf目录,开始编译安装。可使用 ./configure -h 查看安装帮助,不过咱们默认安装就好了。性能
./configure
make
五、经过上面的编译后,展开queryperf目录,在该目录下已经生成了一个queryperf的可执行文件。这个文件就是咱们要用到的程序,咱们把该程序移动到/usr/bin/目录下就可使用了。测试
cp queryperf /usr/bin/
3、使用queryperf测试DNS服务器3d
在测试以前,咱们先把DNS服务器架设好。咱们以域名wubinary.com为例,架设DNS服务器,dns.wubinary.com。
日志
一、wubinary.com区域的资源记录文件wubinary.com.zone内容以下。
二、测试DNS服务器可否正常使用。
从新启动服务:
测试域名blog.wubinary.com
DNS服务器工做正常,接下来可使用queryperf做压力测试了。
三、queryperf使用格式:
queryperf [-d datafile] [-s server_addr] [-p port] [-q num_queries]
-d: 后面接上一个文件,文件的内容是用户对DNS的请求,一行为一条请求,因此为了测试,咱们能够在里面写上几千几万条。
-s: DNS服务器地址
-p: DNS服务器端口
-q: 请求多少次
使用vim命令先建立一个请求文件:vim querytest.txt
这几条记录还远远不够,咱们使用vim命令 1,$y 复制一下。
六百多万条了,开始测试吧。
四、性能测试。
执行命令:
queryperf -d querytest.txt -s 192.168.0.6
此时使用top命令能够看到CPU和内存的使用率。
结果以下:
测试过程完成,能够多测试几回取平均值。
4、性能测试总结
一、在做服务器的性能测试时,最好不要在服务器平台自身使用测试软件测试,最好换另一台机器,这样CPU处理的结果会更准确。
二、测试时先预估平台会遇到的最大请求数,用这个请求数做测试,量力而为,由于若是服务器遇到大流量的DDOS,单一机器性能再好,也扛不住。
三、使用queryperf做性能测试时,最好测试屡次,取平均值。
四、能够修改配置文件的部分参数测试,如,开启递归,开启查询日志等功能做测试。
五、其它开源测试工具,tcpcopy