使用queryperf对DNS服务器作压力测试
一、querperf简介
当我们把DNS服务器配置好后,我们肯定会想测试一下DNS服务器的性能如何,上线后如果请求数够多服务器还能否响应?于是,我们可以使用软件模拟环境,对DNS服务器作评估性的测试。在bind中,有一款自带的压力测试软件,queryperf。使用这款软件可以对DNS服务器作请求测试,并且使用方法简单,我们可以使用queryperf测试多次,取一个平均值,这样就算结果不准确,也不会和实际情况相差太大。
二、queryperf安装
1、queryperf是bind自带的测试软件,所以我们直接上官网下载bind,解压后就能找到queryperf的安装包。
1
|
wget http: //www.isc.org/downloads/file/bind-9-8-7rc2/?version=tar.gz |
2、不知道为什么,这个文件下载完成后的名字是这个,index.html\?version\=tar.gz,好吧我们解压吧。
1
|
tar xf index.html\?version\=tar.gz |
3、解压后,找到目录 contrib ,bind自带的第三方软件全在这个目录里面,我们要用到的queryperf也在里面。
4、进入queryperf目录,开始编译安装。可以使用 ./configure -h 查看安装帮助,不过我们默认安装就行了。
1
|
./configure |
1
|
make |
5、通过上面的编译后,展开queryperf目录,在该目录下已经生成了一个queryperf的可执行文件。这个文件就是我们要用到的程序,我们把该程序移动到/usr/bin/目录下就可以使用了。
1
|
cp queryperf /usr/bin/ |
三、使用queryperf测试DNS服务器
在测试之前,我们先把DNS服务器架设好。我们以域名wubinary.com为例,架设DNS服务器,dns.wubinary.com。
1、wubinary.com区域的资源记录文件wubinary.com.zone内容如下。
2、测试DNS服务器能否正常使用。
重新启动服务:
测试域名blog.wubinary.com
DNS服务器工作正常,接下来可以使用queryperf作压力测试了。
3、queryperf使用格式:
1
|
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 复制一下。
六百多万条了,开始测试吧。
4、性能测试。
执行命令:
1
|
queryperf -d querytest.txt -s 192.168 . 0.6 |
此时使用top命令可以看到CPU和内存的使用率。
结果如下:
测试过程完成,可以多测试几次取平均值。
四、性能测试总结
1、在作服务器的性能测试时,最好不要在服务器平台自身使用测试软件测试,最好换另外一台机器,这样CPU处理的结果会更准确。
2、测试时先预估平台会遇到的最大请求数,用这个请求数作测试,量力而为,因为如果服务器遇到大流量的DDOS,单一机器性能再好,也扛不住。
3、使用queryperf作性能测试时,最好测试多次,取平均值。
4、可以修改配置文件的部分参数测试,如,开启递归,开启查询日志等功能作测试。
5、其它开源测试工具,tcpcopy
使用queryperf对DNS服务器作压力测试的更多相关文章
- Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程 - VPS侦探
Web服务器性能/压力测试工具http_load.webbench.ab.Siege使用教程 - VPS侦探 http://soft.vpser.net/test/http_load/http_loa ...
- Web服务器性能压力测试工具http_load、webbench、ab、Siege使用教程
Web服务器性能压力测试工具http_load.webbench.ab.Siege使用教程 作者: feng 日期: 2012/07/25 发表评论 (0) 查看评论 一.http_load 程序 ...
- Web服务器性能/压力测试工具http_load、webbench、ab、Siege、loadrunner
回头看看 Web服务器性能/压力测试工具http_load.webbench.ab.Siege.loadrunner
- DNS视图及压力测试(四)
Bind安全控制选项 Allow-transfer {}; #用于控制区域传送文件 Allow-query {}; #通常用于服务器是缓存名称服务器时,控制查询客户端 Allow-recursion ...
- Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程
一.http_load 程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工 具,它可以以一个单一的进程运行,一般 ...
- Web服务器性能压力测试工具
一.http_load 程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载. 但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般 ...
- 几款Web服务器性能压力测试工具
一.http_load 程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载. 但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般 ...
- 介绍几款Web服务器性能压力测试工具
一.http_load 程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载. 但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般 ...
- 九款Web服务器性能压力测试工具
一.http_load 程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会 ...
随机推荐
- android 5.0 -- 主题
系统提供默认的三种主题样式 @android:style/Theme.Material (dark version) @android:style/Theme.Material.Light (ligh ...
- imagick-3.1.0RC2 安装错误
PHP 5.4.8 安装 imagick-3.1.0RC2 安装冒出一大堆错误, 貌似跟 ImageMagick-6.8.0-2 这个版本有关系, 我之前换成低版本的 ImageMagick 就可以顺 ...
- Java中自己实现枚举
public class MyEnum { private final String name; public static final MyEnum red = new MyEnum(" ...
- Linux入门(三)搭建服务器linux运行环境LAMP/LNMP
本文内容主要根据慕课网教学视频整理,原链接http://www.imooc.com/learn/170 我用的linux系统是ubuntu 12.04 LTS 虚拟机是VMware Workstat ...
- 四大类NoSQL数据库
http://blog.sina.com.cn/s/blog_636415010101945l.html 原文:http://blog.monitis.com/index.php/2011/05/22 ...
- php基础(六)Include
本文内容来自http://www.w3school.com.cn/php/php_file.asp 服务器端包含 (SSI) 用于创建可在多个页面重复使用的函数.页眉.页脚或元素. include ( ...
- 评测:VPS推荐digitalocean和Vultr和Linode
美国vps推荐三家,分别是digitalocean.vultr和linode,拥有很高的性价比,中国访问速度快.我是上面三家的早期用户,并且一直使用至今,积累了不少使用经验. DigitalOcean ...
- python学习入门第一天总结
虽然之前自己也看过许多关于python的视频,但一直没有动力与勇气,所以未能坚持且也没有学得这么深刻,这次希望通过python自动化培训,能够彻底改变自己,通过第一天的python学习,自己学到了许多 ...
- ios 将图片变成圆形
#pragma mark - 将图片转换成圆形 -(UIImage*) circleImage:(UIImage*) image withParam:(CGFloat) inset { UIGraph ...
- Git一些其它的功能
Git 开始之前我们配置过user.name和user.email.其实还有很多其他的配置项 例如:让Git显示颜色,会让命令输出来更醒目: $ git config --global color.u ...