设为首页 收藏本站
查看: 1496|回复: 0

[经验分享] DNS压力测试工具:queryperf

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-10-9 08:50:37 | 显示全部楼层 |阅读模式
1. 简介

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


2. 安装


      下载地址:http://www.isc.org/downloads/

      官网:http://www.isc.org/downloads/bind/


下载命令:

  wget https://www.isc.org/downloads/file/bind-9-11-0/?version=tar-gz

3. 编译

tar xf bind-9.11.0.tar.gz
cd bind-9.9.9-P1/contrib/queryperf/
./configure
make

  通过编译后在queryperf目录下会生成名为 queryperf 可执行文件,这个文件就是我们要使用的命令程序文件,将该文件移动到命令路径(/usr/bin:/root/bin等)下即可使用,如果不移动,在执行该文件时必须全路径才可以。

cd bind-9.9.9-P1/contrib/queryperf/
cp queryperf /usr/bin/

4. queryperf命令


使用格式:

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

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

-s: DNS服务器地址

-p: DNS服务器端口

-q: 请求多少次


5. 测试

测试环境:DNS服务器搭建完毕(IP:10.0.0.11),以域名view.viewlnh.com为例,具体操作如下:


使用vim编辑一个请求文件

[iyunv@dns queryperf]# vim test1.txt
view.viewlnh.com A
view.viewlnh.com A
view.viewlnh.com A
view.viewlnh.com A
........
  .........
    .........

以上的4条记录远远不够,可以使用yy100p复制多点

[iyunv@dns queryperf]# wc -l test1.txt
1001000 test1.txt              #<== 100多万条了,差不多了

==> 开始测试:

执行命令:

queryperf -d test1.txt -s 10.0.0.11

结果如下:

DNS Query Performance Testing Tool
Version: $Id: queryperf.c,v 1.12 2007/09/05 07:36:04 marka Exp $

[Status] Processing input data
[Status] Sending queries (beginning with 10.0.0.11)
[Status] Testing complete

Statistics:

  Parse input file:     once
  Ended due to:         reaching end of file

  Queries sent:         1001000 queries        #<== 一共查询了多少条
  Queries completed:    1001000 queries        #<== 查询成功了多少条
  Queries lost:         0 queries
  Queries delayed(?):   0 queries

  RTT max:              0.162247 sec
  RTT min:              0.000020 sec
  RTT average:          0.001344 sec
  RTT std deviation:    0.001493 sec
  RTT out of range:     0 queries

  Percentage completed: 100.00%                #<== 完成百分比
  Percentage lost:        0.00%                #<== 丢失百分比

  Started at:           Sat Oct  8 14:55:30 2016
  Finished at:          Sat Oct  8 14:56:37 2016
  Ran for:              67.593280 seconds

  Queries per second:   14809.164461 qps       #<== 每秒执行的次数

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


六、性能测试小结

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

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

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

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

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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-283328-1-1.html 上篇帖子: 解决在虚拟机中克隆CentOS后网络配置问题 下篇帖子: Samba服务器 压力测试
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表