BINDマルチコア/プロセス パフォーマンステスト

BINDマルチコア/プロセス
パフォーマンステスト
2008/7/9
住商情報システム株式会社
服部 成浩
s.hattori@scs.co.jp
テストをした背景と内容
• マルチコアの製品の低廉化
– 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