Comments
Description
Transcript
BINDマルチコア/プロセス パフォーマンステスト
BINDマルチコア/プロセス パフォーマンステスト 2008/7/9 住商情報システム株式会社 服部 成浩 [email protected] テストをした背景と内容 • マルチコアの製品の低廉化 – Bindはどのくらいパフォーマンスでるのか? • 神明さんパッチ – Nominum製品はマルチコア対応でない • テスト内容 – 2種類のテストを実施 • テスト1: コア数と処理性能 • テスト2: 1プロセス時と複数プロセス時の比較 • セキュリティ機能:queryport-pool機能 Sumisho Computer Systems Corp. All Rights Reserved. 2 テスト構成: ネットワーク構成図 100Mbps Internet • 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 1000Mbps 100Mbps Firewall Lucent Brick50 100Mbps L2 Switch 1000Mbps Traffic generator Bindマシン Sumisho Computer Systems Corp. All Rights Reserved. 3 テスト構成: テスト方法 • 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回は権威 サーバに問い合わせる必要がある – すべて同じクエリ(100%キャッシュヒット) Sumisho Computer Systems Corp. All Rights Reserved. 4 テスト構成: テスト方法 • 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マシンはテスト毎にリブートを実施 Sumisho Computer Systems Corp. All Rights Reserved. 5 テスト構成: テスト方法 • resperfのパラメータ – ./resperf –s BindのIP –d query_list –m 20000 • -m 20000: 60秒かけて20,000qpsまで負荷を上げる • namedのリソースはtopコマンドでチェック • カーネルに認識させるコア数の指定方法 – grub.conf の maxcpus オプションで指定 Sumisho Computer Systems Corp. All Rights Reserved. 6 ユニーククエリテスト結果 QPS 9.4.2 ユニーククエリ QPS 12000 QPS 9.5.0 usequeryport-pool有 効 10552 9888 10000 9042 QPS 8000 QPS 9.5.0 usequeryport-pool無 効 7736 6608 6000 5416 5354 5070 5002 4912 5646 5600 9.4.2 QPS/# of cores 4194 4178 3900 4000 9.5.0 pool有効 QPS/# of cores 2000 0 1 2 3 4 5 # of cores 6 7 8 9.5.0 pool無効 QPS/# of cores CPU使用率 named 800 700 678 600 582 527 434 400 362 300 402 359 9.4.2 267 256 200 196 175 174 100 9.5.0 use-queryport-pool有 効 9.5.0 use-queryport-pool無 効 99.7 99.9 0 1 2 3 4 5 6 7 8 # of cores Sumisho Computer Systems Corp. All Rights Reserved. 7 100%キャッシュヒットテスト結果 100% キャッシュヒット QPS 120000 100000 QPS 60000 106508 97794 96320 98182 89738 85998 81296 77326 77592 80000 QPS 9.4.2 QPS 9.5.0 use-queryportpool有効 QPS 9.5.0 use-queryportpool無効 9.4.2 QPS/# of cores 54174 51410 50778 40000 32368 30900 30564 20000 0 1 2 3 4 5 # of cores 6 7 8 9.5.0 pool有効 QPS/# of cores 9.5.0 pool無効 QPS/# of cores CPU使用率 named 9.4.2 800 600 % % 500 400 200 0 1 2 3 4 5 # of cores 6 7 8 9.5.0 usequeryport-pool有 効 9.5.0 usequeryport-pool無 効 Sumisho Computer Systems Corp. All Rights Reserved. 8 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%キャッシュヒット Sumisho Computer Systems Corp. All Rights Reserved. 9 BIND 9.4.2 4コア vs. 4プロセス 9.4.2 QPS 90000 81296 80000 70000 Q PS 60000 50000 40000 32002 32830 32254 32186 QPS(100%キャッシュヒット) QPS(ユニーククエリ) 30000 20000 10000 6608 2584 2584 2584 2536 0 9.4.2 4コア プロセス1 eth0 port 53 プロセス2 eth0 port 5353 プロセス3 eth1 port 53 プロセス4 eth1 port 5353 9.4.2 CPU named(%) 400 389 362 350 C PUnam ed(%) 300 250 CPU named(100%キャッ シュヒット) CPU named(ユニークク エリ) 200 150 100 100100 100100 100100 100100 プロセス1 eth0 port 53 プロセス2 eth0 port 5353 プロセス3 eth1 port 53 プロセス4 eth1 port 5353 50 0 9.4.2 4コア Sumisho Computer Systems Corp. All Rights Reserved. 10 BIND 9.5.0 4コア vs. 4プロセス use-queryport-pool有効 9.5.0 QPS ( use-queryport-pool 有効 ) 90000 80000 77592 70000 Q PS 60000 50000 40000 31000 30418 QPS(100%キャッシュヒット) QPS(ユニーククエリ) 31250 30418 30000 20000 10000 5354 1916 2084 1416 1414 0 9.5.0 4コア プロセス1 eth0 port 53 プロセス2 eth0 port 5353 プロセス3 eth1 port 53 プロセス4 eth1 port 5353 9.5.0 CPU named ( use-queryport-pool 有効 ) 400 394 350 C PUnam ed(%) 300 256 250 CPU named(100% キャッシュヒット) CPU named(ユニーク クエリ) 200 150 100 100 100 64 100 100 64 52 50 52 0 9.5.0 4コア プロセス1 eth0 port 53 プロセス2 eth0 port 5353 プロセス3 eth1 port 53 プロセス4 eth1 port 5353 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 無効 ) 90000 80000 77326 70000 QPS 60000 50000 QPS(100%キャッシュヒット) QPS(ユニーククエリ) 40000 31210 31212 30756 31156 30000 20000 10000 5416 1916 1848 1614 1750 0 9.5.0 4コア プロセス1 eth0 port 53 プロセス2 eth0 port 5353 プロセス3 eth1 port 53 プロセス4 eth1 port 5353 9.5.0 CPU named ( use-queryport-pool 無効 ) 400 390 367 350 CPUnam ed(%) 300 250 CPU named(100%キャッ シュヒット) CPU named(ユニークク エリ) 200 150 100 100 100 65 100 64 100 57 58 50 0 9.5.0 4コア プロセス1 eth0 port 53 プロセス2 eth0 port 5353 プロセス3 eth1 port 53 プロセス4 eth1 port 5353 Sumisho Computer Systems Corp. All Rights Reserved. 12 まとめ ( 1 of 2 ) コア数 vs. QPS シングルコア プロセス(QPS) ユニーククエリ BIND 9.4.2 100%キャッシュヒット BIND 9.5.0 use-queryport-pool有効 ユニーククエリ BIND 9.5.0 use-queryport-pool無効 ユニーククエリ 100%キャッシュヒット 100%キャッシュヒット マルチコアプロセス (コア*8) (QPS) 4,194 10,552 2.5倍 32,368 106,508 3.2倍 3,900 5,646 1.4倍 30,564 97,794 3.1倍 4,178 9,888 2.3倍 30,900 96,320 3.1倍 • シングルコアプロセス – 9.4.2と9.5.0 use-queryport-pool有効,無効でパフォーマンスに大差なし • マルチコアプロセス(コア*8) – 9.5.0 use-queryport-pool有効、ユニーククエリのケース: • マルチコア数によるQPSの向上があまり見られなかった • CPUの使用率が他のケースと比べ低い → QPSが出ない原因? • use-queryport-pool無効だと、9.4.2に近い値なので、use-queryportpoolオプションが起因しているように見える Sumisho Computer Systems Corp. All Rights Reserved. 13 まとめ ( 2 of 2 ) マルチコアプロセス vs. シングルコアプロセス複数起動 マルチコアプロセス (コア*8) (QPS) ユニーククエリ BIND 9.4.2 • 100%キャッシュヒット BIND 9.5.0 use-queryport-pool有効 ユニーククエリ BIND 9.5.0 use-queryport-pool無効 ユニーククエリ 100%キャッシュヒット 100%キャッシュヒット シングルコアプロセス*4 (合計QPS) 10,552 10,288 106,508 129,254 5,646 6,830 97,794 123,086 9,888 7,128 96,320 124,334 BIND 9.4.2 – シングルコアプロセス*4で、マルチコアプロセス(コア*8)とほぼ同等のパ フォーマンスが出た – 各シングルコアプロセスのQPSはほぼ同じ • BIND 9.5.0 use-queryport-pool有効/無効 – ユニーククエリ: 各プロセスのQPSにばらつきがある。CPU使用率が低い – 100%キャッシュヒット:各プロセスのQPSに大きなばらつきはない – 原因は不明 Sumisho Computer Systems Corp. All Rights Reserved. 14