使用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

时间: 2024-08-26 01:54:30

使用queryperf对DNS服务器作压力测试的相关文章

如何手动编译bind,如何使用view实现智能DNS解析,以及如何对DNS服务器进行压力测试。

今天带大家来看看如何手动编译源码bind,自己手动编译安装的很多文件都要自己去建立,配置文件也要从零写起,而且没有服务启动脚本,需要自己编写启动脚本. 实验规划: 1.在192.168.1.200这台主机上编译安装bind,完成后为named服务编写启动脚本,加入到service. 2.配置view实现智能DNS解析:当请求解析www.tuchao.com,来源为192.168.1.0/24时候,解析到192.168.1.100.其他的来源都解析到外网地址,1.1.1.1 3.使用querype

Web服务器性能压力测试工具http_load、webbench、ab、Siege使用教程

Web服务器性能压力测试工具http_load.webbench.ab.Siege使用教程 作者: feng 日期: 2012/07/25 发表评论 (0) 查看评论 一.http_load 程序非常小,解压后也不到100K,http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死.还可以测试HTTPS类的网站请求. 官网:http://www.acme.com/software/http_loa

Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程 - VPS侦探

Web服务器性能/压力测试工具http_load.webbench.ab.Siege使用教程 - VPS侦探 http://soft.vpser.net/test/http_load/http_load-12mar2006.tar.gz

服务器程序压力测试、性能测试

负载生成器是一些生成用于测试的流量的程序.它们可以向你展示服务器在高负载的情况下的性能,以及让你能够找出服务器可能存在的问题.为了得到更加客观和准确的数值,应该从远程访问.局域网访问和本地等多个方面进行全方位的测试.一般用127.0.0.1进行本机测试 Apache Benchmark ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL进行访问,可用来测试Apache的负载压力,也可以测试nginx.lighthttp.IIS等其它Web服务器的压力. 1. 安装 Unix安装 y

DNS服务器简单架设测试

   空闲时间够充裕,准备架设个LAMP和用POSTFIX架设个webmail.这两个SERVER都需要用到DNS.于是先弄个DNS,做个记录,以方便后面参考.具体步骤如下:    1.DNS用的软件名字bind.先确定下,安装了bind木有?      参考命令:      rpm -qa |grep "bind"   2.DNS主要文件说明     /etc/named.conf     zone文件位置     /var/named/        3.主配置文件的配置     

Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程

分类: Web架构 2010-10-04 16:07 371人阅读 评论(0) 收藏 举报 测试工具web服务attributestransactionsauthenticationconcurrency 转:http://blog.licess.org/http_load-webbench-ab-siege/ 一.http_load 程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工 具,它可以以一个单一的

[转]Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程

原文链接:http://www.vpser.net/opt/webserver-test.html 2009年04月13日 下午 | 作者:VPS侦探 一.http_load 程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工 具,它可以以一个单一的进程运行,一般不会把客户机搞死.还可以测试HTTPS类的网站请求. 下载地址:http://soft.vpser.net/test/http_load/http_

几款Web服务器性能压力测试工具

一.http_load 程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死.还可以测试HTTPS类的网站请求.下载地址:http_load-12mar2006.tar.gz 安装很简单 #tar zxvf http_load-12mar2006.tar.gz #cd http_load-12mar2006 #make && make install 基本

九款Web服务器性能压力测试工具

一.http_load 程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死.还可以测试HTTPS类的网站请求.下载地址:http_load-12mar2006.tar.gz安装很简单 #tar zxvf http_load-12mar2006.tar.gz#cd http_load-12mar2006#make && make install 基本用法: