BINDマルチコア/プロセス
パフォーマンステスト
2008/7/9
住商情報システム株式会社
服部 成浩
[email protected]
テストをした背景と内容
• マルチコアの製品の低廉化
– Bindはどのくらいパフォーマンスでるのか?
• 神明さんパッチ
– Nominum製品はマルチコア対応でない
• テスト内容
– 2種類のテストを実施
• テスト1: コア数と処理性能
• テスト2: 1プロセス時と複数プロセス時の比較
• セキュリティ機能:queryport-pool機能
Sumisho Computer Systems Corp. All Rights Reserved.
3
テスト構成: ネットワーク構成図
•
Bindマシンスペック (HP DL360 G5)
– OS: CentOS5.2
– kernel: 2.6.18-53.1.21.el5
– CPU: Intel Xeon E5345 2.3GHz
• Quad core * 2 ( 計 8 コア )
– メモリ: 4GB
•
Traffic generatorスペック(HP DL145)
– OS: Red Hat ES 3
– kernel: 2.4.21-57.EL
– CPU: AMD Opteron 248
– メモリ: 4GB
Traffic generator
Bindマシン
Firewall
Lucent Brick50
L2 Switch
Internet
1000Mbps
100Mbps
100Mbps
100Mbps
1000Mbps
テスト構成: テスト方法
•
Bindテスト対象バージョン
– 9.4.2 , 9.5.0
• 9.5.0 use-queryport-pool有効
– デフォルト設定:queryport-pool-ports 8
• 9.5.0 use-queryport-pool無効
•
トラフィックジェネレーター
– Nominum resperf 1.0.1.0
• http://www.nominum.com/services/measurement_tools.php
•
クエリリスト(2パターン)
– 全てユニークなクエリ
• ただしトップレベル,セカンドレベルは重複しているクエリもある
• 全てのリクエストに対し、キャッシュサーバは少なくとも1回は権威
Sumisho Computer Systems Corp. All Rights Reserved.
5
テスト構成: テスト方法
• Bind設定
– キャッシュサイズ: 1,400MB
– recursive-clients: 50,000
– recursive-clientsは上限値に達しないように事前に確認
し、上記値に設定
• Bindはソースからインストール
– シングルコアプロセス
• ./configure –prefix=xx;make;make install
– マルチコアプロセス
• ./configure –prefix=xx –enable-threads;make;make install
• Bindマシンはテスト毎にリブートを実施
テスト構成: テスト方法
• resperfのパラメータ
– ./resperf –s BindのIP –d query_list –m 20000
• -m 20000: 60秒かけて20,000qpsまで負荷を上げる
• namedのリソースはtopコマンドでチェック
• カーネルに認識させるコア数の指定方法
Sumisho Computer Systems Corp. All Rights Reserved.
7
ユニーククエリテスト結果
CPU使用率 named 99.9 196 362 527 678 99.7 175 256 359 402 99.7 174 267 434 582 0 100 200 300 400 500 600 700 800 1 2 3 4 5 6 7 8 # of cores % 9.4.2 9.5.0 use-queryport-pool有 効 9.5.0 use-queryport-pool無 効 ユニーククエリ QPS 4194 5070 6608 9042 10552 3900 4912 5354 5600 5646 4178 5002 5416 7736 9888 0 2000 4000 6000 8000 10000 12000 1 2 3 4 5 6 7 8 # of cores Q P S QPS 9.4.2 QPS 9.5.0 use-queryport-pool有 効 QPS 9.5.0 use-queryport-pool無 効 9.4.2 QPS/# of cores 9.5.0 pool有効 QPS/# of cores 9.5.0 pool無効 QPS/# of cores100%キャッシュヒットテスト結果
CPU使用率 named
400
600
800
%
9.4.2
100% キャッシュヒット QPS 32368 54174 81296 98182 106508 30564 51410 77592 85998 97794 30900 50778 77326 89738 96320 0 20000 40000 60000 80000 100000 120000 1 2 3 4 5 6 7 8 # of cores QP S QPS 9.4.2 QPS 9.5.0 use-queryport-pool有効 QPS 9.5.0 use-queryport-pool無効 9.4.2 QPS/# of cores 9.5.0 pool有効 QPS/# of cores 9.5.0 pool無効 QPS/# of coresSumisho Computer Systems Corp. All Rights Reserved.
9
BIND 9.4.2 , 9.5.0
マルチコアプロセス(コア*4) vs. シングルコアプロセス*4
• マルチコアプロセスのnamed(コア*4)と、シングルコアプロセ
スのnamed*4のときのパフォーマンスを比較する
• シングルコアプロセス*4のときの設定
– eth0 port 53 , eth0 port 5353 , eth1 port 53 , eth1 port 5353
– tasksetコマンドで各プロセスが使用するコアを指定(2番、3番、6番、
7番)
• クエリリスト
– ユニーククエリ
– 100%キャッシュヒット
BIND 9.4.2
4コア vs. 4プロセス
9.4.2 QPS 81296 32002 32830 32254 32186 6608 2584 2584 2584 2536 0 10000 20000 30000 40000 50000 60000 70000 80000 90000 9.4.2 4コア プロセス1 eth0 port 53 プロセス2 eth0 port 5353 プロセス3 eth1 port 53 プロセス4 eth1 port 5353 Q P S QPS(100%キャッシュヒット) QPS(ユニーククエリ) 9.4.2 CPU named(%) 389 100 100 100 100 362 100 100 100 100 0 50 100 150 200 250 300 350 400 9.4.2 4コア プロセス1 eth0 port プロセス2 eth0 port プロセス3 eth1 port プロセス4 eth1 port C P U n a m ed( %) CPU named(100%キャッ シュヒット) CPU named(ユニークク エリ)Sumisho Computer Systems Corp. All Rights Reserved.
11
BIND 9.5.0
4コア vs. 4プロセス use-queryport-pool有効
9.5.0 QPS ( use-queryport-pool 有効 ) 77592 31000 30418 30418 31250 5354 1916 1416 2084 1414 0 10000 20000 30000 40000 50000 60000 70000 80000 90000 9.5.0 4コア プロセス1 eth0 port 53 プロセス2 eth0 port 5353 プロセス3 eth1 port 53 プロセス4 eth1 port 5353 Q P S QPS(100%キャッシュヒット) QPS(ユニーククエリ)9.5.0 CPU named ( use-queryport-pool 有効 ) 394 100 100 100 100 256 64 52 64 52 0 50 100 150 200 250 300 350 400 9.5.0 4コア プロセス1 eth0 port 53 プロセス2 eth0 port 5353 プロセス3 eth1 port 53 プロセス4 eth1 port 5353 C P U n a m ed (% ) CPU named(100% キャッシュヒット) CPU named(ユニーク クエリ)
BIND 9.5.0
4コア vs. 4プロセス use-queryport-pool無効
9.5.0 QPS ( use-queryport-pool 無効 ) 77326 31210 31212 30756 31156 5416 1916 1848 1614 1750 0 10000 20000 30000 40000 50000 60000 70000 80000 90000 9.5.0 4コア プロセス1 eth0 port 53 プロセス2 eth0 port 5353 プロセス3 eth1 port 53 プロセス4 eth1 port 5353 Q P S QPS(100%キャッシュヒット) QPS(ユニーククエリ)9.5.0 CPU named ( use-queryport-pool 無効 ) 390 367 250 300 350 400 ed (% ) CPU named(100%キャッ