DNS壓力測試工具:queryperf


1. 簡介

  當我們把DNS服務器配置好後,我們肯定會想測試一下DNS服務器的性能如何,上線後如果請求數夠多服務器還能否響應?於是,我們可以使用軟件模擬環境,對DNS服務器作評估性的測試。在bind中,有一款自帶的壓力測試軟件,queryperf。使用這款軟件可以對DNS服務器作請求測試,並且使用方法簡單,我們可以使用queryperf測試多次,取一個平均值,這樣就算結果不準確,也不會和實際情況相差太大。


2. 安裝



下載命令:

  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編輯一個請求文件

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

 以上的4條記錄遠遠不夠,可以使用yy100p複製多點

[root@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


本文參考:http://www.it165.net/admin/html/201403/2545.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章