このページはリンク切れを生じないために残してありますが、内容は古くなっていますのでご注意下さい。
主要(?)DNSサーバの比較
はじめに
独断と偏見と都合で選んだ主要(?)DNSサーバを比較してみました。
比較した実装
- BIND 9.4.2
- マルチスレッドを有効にしてコンパイル/無効にしてコンパイル
- BIND 9.1.0
- マルチスレッドを有効にしてコンパイル/無効にしてコンパイル
- NSD 3.0.7
- authoritativeサーバの機能しかない。
- 今回はconfigureに--enable-root-serverオプションを与えてmakeした。
- pdns_recursor 3.1.5
- PowerDNSのrecursiveサーバだが、authoritativeサーバは準備の都合により今回は試していない。
- MaraDNS 1.3.07.08
計測プログラム
dnsperf-1.0.0.1-1
テスト環境
ネットワーク媒体
100Base-TX
authoritativeサーバ
- ハードウェア
- IBM ThinkCentre M51, Pentium 4@3.2GHz(dual core) x 1CPU
- OS
- FreeBSD 6.2, SMP kernel
- 設定
- rootゾーン、example.jpゾーン、example2.jpゾーンをサービス。
recursiveサーバ
- ハードウェア
- HP Netserver LPr, Pentium III@500MHz x 2CPUs
- OS
- FreeBSD 6.3, SMP kernel
- 設定
- rootサーバは上記authoritativeサーバであるという内容のrootヒントを設定。
計測ホスト
- ハードウェア
- DELL PowerEdge 1950, Xeon E5335@2.00GHz x 2CPUs
- OS
- CentOS 5.1
観測ホスト
- ハードウェア
- ショップブランド Celeron@1.2GHz x 1CPU
- OS
- FreeBSD 6.3
- 備考
- 応答データの観測テストの一部にDELL PowerEdge 1950と併用。dnsperfによる計測には本機は用いていない。
ゾーンデータ
rootゾーン
下位にexample.jpとexample2.jpの2つのゾーンだけを持つ、the Internetとは独立した名前空間を構成。
example.jpゾーン
- dummy000-000.example.jp
- dummy000-001.example.jp
途中、略
- dummy255-255.example.jp
のA RRを含む。
example2.jpゾーン
このゾーンをBINDでサービスしてwww.example2.jpのqtype ANYをqueryすると、EDNS0を有効にすればadditionalセクションを含んだ533octetのレスポンスを返し、EDNS0を無効にすると、additionalセクションを含まない506octetのレスポンスを返す。
具体的にはこのような内容。
結果
ここではdnsperfによるスループットの計測結果を示していますが、あくまで、たまたまかき集められた機材で構築した環境で計測した一例の数値であり、必ずしもそれぞれの実装の性能をフルに発揮できていないかもしれないことをご承知置き下さい。
また、今回はclosedな実験環境を作るため、計測対象のauthoritativeサーバでrootゾーンもサービスしており、一般的な運用形態とは差異があります。本来は計測対象のauthoritativeサーバとは別のサーバでrootゾーンをサービスすべきですが、手配できた機材の都合で、このようなシステム構成となっています。もしかすると、応答パケットの内容には、このことが影響を与えている可能性もあることをご留意下さい。
DNS関連の情報へ
Copyright(c) 2008, Koh-ichi Ito, All right reserved.
Last update: $Date:: 2020-10-17 10:01:10 +0900#$
ページ先頭のアイコン: Copyright(c) 2017 いらすとや, All rights reserved.