DNS BIND圧力試験-queryperf

3787 ワード

DNSサーバを構成したら、DNSサーバのパフォーマンスをテストしたいに違いありません.オンラインになってから、リクエスト数が十分であれば、応答できますか?そこで,ソフトウェアシミュレーション環境を用いてDNSサーバを評価的にテストすることができる.bindには、独自の圧力テストソフト、queryperfがあります.このソフトウェアを使用してDNSサーバをリクエストテストすることができ、使用方法が簡単で、queryperfを使用して何度もテストし、平均値を取ることができます.これにより、結果が正確でなくても、実際の状況とあまり差がありません.1.インストール
queryperfはbindが持参したテストソフトなので、公式サイトに直接bindをダウンロードし、解凍してqueryperfのインストールパッケージを見つけることができます.解凍した後、ディレクトリcontribを見つけて、bindが持っているサードパーティのソフトウェアはすべてこのディレクトリの中にあって、私たちが使うqueryperfも中にあります.
ll contrib/
-rw-r--r-- 1 slim slim 4181 Feb 18 09:56 check5011.pl
-rw-rw-r-- 1 slim slim 3919 Apr 17 15:58 check-secure-delegation.pl
-rw-r--r-- 1 slim slim 3900 Feb 18 09:56 check-secure-delegation.pl.in
drwxr-xr-x 2 slim slim 4096 Apr 17 15:58 dane
drwxr-xr-x 6 slim slim 4096 Apr 17 15:58 dlz
drwxr-xr-x 3 slim slim 4096 Apr 17 15:58 idn
drwxr-xr-x 2 slim slim 4096 Apr 17 15:58 linux
drwxr-xr-x 2 slim slim 4096 Apr 17 15:58 named-bootconf
drwxr-xr-x 2 slim slim 4096 Apr 17 15:58 nanny
drwxr-xr-x 3 slim slim 4096 Apr 17 15:58 nslint-2.1a3
drwxr-xr-x 2 slim slim 4096 Apr 17 15:58 perftcpdns
drwxr-xr-x 2 slim slim 4096 Apr 17 15:58 pkcs11-keygen
drwxr-xr-x 2 slim slim 4096 Apr 17 15:58 query-loc-0.4.0
drwxr-xr-x 5 slim slim 4096 Apr 17 15:58 queryperf
-rw-r--r-- 1 slim slim 1462 Feb 18 09:56 README
drwxr-xr-x 9 slim slim 4096 Apr 17 15:58 sdb
drwxr-xr-x 5 slim slim 4096 Apr 17 15:58 zkt
-rw-rw-r-- 1 slim slim 3414 Apr 17 15:58 zone-edit.sh
-rw-r--r-- 1 slim slim 3386 Feb 18 09:56 zone-edit.sh.in

queryperfディレクトリに入り、コンパイルインストールを開始します.使用可能./configure-hインストールヘルプを表示し、インストールディレクトリとbind関連ディレクトリを指定できますが、デフォルトでインストールすればいいです../configure makeは、上記のコンパイルによりqueryperfディレクトリを展開し、そのディレクトリの下にqueryperfの実行可能ファイルが生成されます.このファイルは私たちが使うプログラムで、私たちはこのプログラムを/usr/bin/ディレクトリの下に移動して使用することができます.cp queryperf/usr/bin/2.DNSサーバqueryperfの使用形式をテストします:queryperf[-d datafile][-s server_addr][-p port][-q num_queries]-d:次のファイルに続きます.ファイルの内容はDNSに対するユーザーの要求で、1つの行為1つの要求なので、テストのために数千数万件を書くことができます.-s:DNSサーバアドレス-p:DNSサーバポート-q:クエリーの出力の最大数を指定vimコマンドを使用してリクエストファイルを作成する:vim querytest.txt
www.baidu.com	A
www.baidu.cn	cname
www.zhutianwei.cn	A
zhutianwei.cn	NS
3evip.cn	MX
pop3.3evip.cn	cname
www.slimsmart.cn	A
slimsmart.cn	NS
www.7k9.cn	A
test.7k9.cn	A
のこれらの記録はまだ十分ではありません.私たちは多くの記録を追加することができます.何万もの記録を書くことができます.
テストコマンドを実行します.
$ queryperf -d querytest.txt -s 192.168.110.71

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 192.168.110.71)
[Status] Testing complete

Statistics:

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

  Queries sent:         1756920 queries
  Queries completed:    1756920 queries
  Queries lost:         0 queries
  Queries delayed(?):   0 queries

  RTT max:              0.272069 sec
  RTT min:              0.000071 sec
  RTT average:          0.001332 sec
  RTT std deviation:    0.001199 sec
  RTT out of range:     0 queries

  Percentage completed: 100.00%
  Percentage lost:        0.00%

  Started at:           Thu Apr 23 13:05:46 2015
  Finished at:          Thu Apr 23 13:07:44 2015
  Ran for:              117.916566 seconds

  Queries per second:   14899.687632 qps
QPSS:1499.687632、何度もテストして平均値を取ることができます.
3.性能テストのまとめ
1、サーバーの性能テストを行う時、サーバープラットフォーム自身でテストソフトウェアテストを使用しないほうがよく、別の機械を交換したほうがよく、CPU処理の結果がより正確になる.
2、テストの时にプラットフォームが出会う最大の要求数を予测して、この要求数でテストして、力を量って、サーバーが大きい流量のDDOSに出会うならば、単一の机械の性能はどんなに良くても、担ぐことができません.
3、queryperfを使用して性能テストを行う場合は、複数回テストし、平均値をとることが望ましい.
4、プロファイルのパラメータテストの一部を変更することができます.例えば、再帰を開き、クエリーログを開くなどの機能をテストします.
5、その他のオープンソーステストツール、tcpcopy
参考記事:
http://wubinary.blog.51cto.com/8570032/1379595