ApsaraDB for MongoDB の物理サーバおよびクラウドディスクアーキテクチャにおける YCSB ベンチマーク結果。複数のインスタンス仕様および読み書き比率をカバーしています。
テスト環境
|
パラメーター
|
ストレステスト用 ECS
|
ApsaraDB for MongoDB (物理サーバ)
|
ApsaraDB for MongoDB (クラウドディスク)
|
|
リージョンとゾーン
|
中国 (杭州) ゾーン H
|
中国 (杭州) ゾーン H
|
中国 (杭州) ゾーン H
|
|
ネットワークタイプ
|
VPC
|
VPC
|
VPC
|
|
インスタンスファミリー
|
c6e (コンピューティング最適化、強化パフォーマンス)
|
汎用および専用
|
専用
|
|
インスタンスタイプ
|
ecs.c6e.2xlarge (8 コア、16 GB)
|
テスト結果
|
テスト結果
|
|
ストレージタイプ
|
PL1 ESSD クラウドディスク
|
ローカル SSD
|
PL1 ESSD クラウドディスク
|
|
ストレージ容量
|
-
|
500 GB
|
500 GB
|
|
トポロジー
|
-
|
標準 3 ノードレプリカセット (プライマリ 1、セカンダリ 1、非表示ノード 1)
|
標準 3 ノードレプリカセット (プライマリ 1、セカンダリ 1、非表示ノード 1)
|
|
イメージバージョン
|
Alibaba Cloud Linux 3.2104 LTS 64 ビット
|
3.10.0-327.ali2017.alios7.x86_64
|
4.19.81-17.2.al7.x86_64
|
|
インスタンスカーネルバージョン
|
-
|
MongoDB 4.2 (ベースラインマイナーバージョン 4.2.13)
|
MongoDB 4.4 (ベースラインマイナーバージョン 4.4.1)
|
|
一貫性構成
|
-
|
既定の読み取り/書き込み設定
|
デフォルトの読み取り/書き込み concern
|
説明
ECS および ApsaraDB for MongoDB インスタンスは同一リージョン・ゾーンに配置されています。往復遅延時間 (RTT):約 0.104 ms。
テストツール
本テストでは、YCSB 0.17.0 を使用してベンチマークを実施しています。
説明
YCSB は、複数のデータベース向けの Java ベースのベンチマークツールです。
テスト手順
-
ECS インスタンスの プライマリプライベート IP アドレス を ApsaraDB for MongoDB のホワイトリストに追加します。ホワイトリストの変更。
説明
ECS コンソール にログインし、インスタンスの詳細 ページの ネットワーク情報 セクションで ECS インスタンスの プライマリプライベート IP アドレス を確認できます。
-
ECS インスタンスに接続します。ECS インスタンスへの接続。
-
YCSB ツールを使用してテストデータをロードします。
./bin/ycsb load mongodb -s -p workload=site.ycsb.workloads.CoreWorkload -p recordcount=1000000 -p mongodb.url="mongodb://test:****@dds-bp13e84d11****.mongodb.rds.aliyuncs.com:3717/admin" -threads 8
以下のパラメーターを変更してください。
-
recordcount=1000000:ApsaraDB for MongoDB インスタンスにロードするレコード総数。
-
mongodb.url="mongodb://test:****@dds-bp13e84d11****.mongodb.rds.aliyuncs.com:3717/admin":ApsaraDB for MongoDB インスタンスのエンドポイント。この例では、データベースアカウントは test、データベースは admin です。
説明
ApsaraDB for MongoDB コンソールにログインして、Database Connection ページの [プライベート接続 - VPC] セクションでエンドポイントを表示できます。
-
threads 8:クライアントの並行スレッド数。
-
以下のコマンドを実行してストレステストを実施します。
./bin/ycsb run mongodb -s -p workload=site.ycsb.workloads.CoreWorkload -p recordcount=1000000 -p operationcount=5000000 -p insertproportion=0 -p readproportion=50 -p updateproportion=50 -p requestdistribution=zipfian -p mongodb.url="mongodb://test:****@dds-bp13e84d11****.mongodb.rds.aliyuncs.com:3717/admin" -threads 8
以下のパラメーターを変更してください。
recordcount=1000000:ApsaraDB for MongoDB インスタンスにロードされたデータレコード総数。
-
operationcount=5000000:実行する読み取りおよび書き込み操作の数。
-
insertproportion=0:挿入操作の割合。
-
readproportion=50:読み取り操作の割合。
-
updateproportion=50:更新操作の割合。
mongodb.url="mongodb://test:****@dds-bp13e84d11****.mongodb.rds.aliyuncs.com:3717/admin":ApsaraDB for MongoDB インスタンスのエンドポイント。この例では、データベースアカウントは test、データベースは admin です。
threads 8:クライアントの並行スレッド数。
テスト結果
シナリオ
-
r:w=100:0:読み取り 100%、書き込み 0%。
-
r:w=95:5:読み取り 95%、書き込み 5%。
-
r:w=50:50:読み取り 50%、書き込み 50%。
-
r:w=5:95:読み取り 5%、書き込み 95%。
-
r:w=0:100:読み取り 0%、書き込み 100%。
パラメーター
-
recordcount:ApsaraDB for MongoDB インスタンスにロードされたレコード総数。
-
operationcount:読み取りおよび書き込み操作の総数。
-
threads:並行クライアントスレッド数。
-
throughput:1 秒あたりの操作数 (OPS)。
-
RAL:平均読み取りレイテンシー(マイクロ秒、μs)。
-
WAL:平均書き込みレイテンシー(マイクロ秒、μs)。
説明
RAL または WAL が 0 の場合、読み取りまたは書き込み操作が実行されていません。
以下の表およびチャートは、さまざまな読み書き比率における物理サーバとクラウドディスクアーキテクチャの比較を示しています。
物理サーバインスタンス (MongoDB 4.2)
テストデータをロードする
|
CPU/メモリ
|
インスタンスの仕様
|
Recordcount
|
Threads
|
Throughput
|
RAL
|
WAL
|
|
1:2
|
1 コア、2 GB (汎用)
|
1000000
|
4
|
3589
|
0
|
1110
|
|
2 コア、4 GB (汎用)
|
2000000
|
8
|
7629
|
0
|
521
|
|
4 コア、8 GB (汎用)
|
4000000
|
16
|
24300
|
0
|
654
|
|
8 コア、16 GB (汎用)
|
8000000
|
32
|
26745
|
0
|
1191
|
|
1:4
|
8 コア、32 GB (汎用)
|
16000000
|
32
|
29090
|
0
|
1095
|
|
16 コア、64 GB (汎用)
|
32000000
|
128
|
41098
|
0
|
3033
|
|
1:8
|
2 コア、16 GB (専用)
|
8000000
|
8
|
6553
|
0
|
1217
|
|
4 コア、32 GB (専用)
|
16000000
|
16
|
14526
|
0
|
1097
|
|
8 コア、64 GB (専用)
|
32000000
|
32
|
35437
|
0
|
899
|
|
16 コア、128 GB (専用)
|
64000000
|
160
|
60078
|
0
|
2658
|
r:w=100:0
|
CPU:メモリ
|
インスタンスの仕様
|
Operation count
|
Threads
|
Throughput
|
RAL
|
WAL
|
|
1:2
|
1 コア、2 GB (汎用)
|
1,000,000
|
4
|
6,387
|
623
|
0
|
|
2 コア、4 GB (汎用)
|
2,000,000
|
8
|
12,893
|
616
|
0
|
|
4 コア、8 GB (汎用)
|
4,000,000
|
16
|
37,016
|
427
|
0
|
|
8 コア、16 GB (汎用)
|
8,000,000
|
32
|
48,014
|
658
|
0
|
|
1:4
|
8 コア、32 GB (汎用)
|
16,000,000
|
32
|
44,251
|
1,589
|
0
|
|
16 コア、64 GB (汎用)
|
32,000,000
|
128
|
57,252
|
2,226
|
0
|
|
1:8
|
2 コア、16 GB (専用)
|
8,000,000
|
8
|
12,436
|
641
|
0
|
|
4 コア、32 GB (専用)
|
16,000,000
|
16
|
20,551
|
773
|
0
|
|
8 コア、64 GB (専用)
|
32,000,000
|
32
|
50,246
|
632
|
0
|
|
16 コア、128 GB (専用)
|
64,000,000
|
160
|
66,876
|
2,385
|
0
|
r:w=95:5
|
CPU:メモリ
|
インスタンスタイプ
|
Operationcount
|
Threads
|
Throughput
|
RAL
|
WAL
|
|
1:2
|
1 コア、2 GB (汎用)
|
1000000
|
4
|
4556
|
864
|
1079
|
|
2 コア、4 GB (汎用)
|
2000000
|
8
|
10391
|
757
|
914
|
|
4 コア、8 GB (汎用)
|
4000000
|
16
|
34411
|
453
|
561
|
|
8 コア、16 GB (汎用)
|
8000000
|
32
|
41095
|
763
|
925
|
|
1:4
|
8 コア、32 GB (汎用)
|
16000000
|
32
|
39920
|
785
|
926
|
|
16 コア、64 GB (汎用)
|
32000000
|
128
|
55148
|
2305
|
2381
|
|
1:8
|
2 コア、16 GB (専用)
|
8000000
|
8
|
8869
|
871
|
1394
|
|
4 コア、32 GB (専用)
|
16000000
|
16
|
18206
|
856
|
1192
|
|
8 コア、64 GB (専用)
|
32000000
|
32
|
47111
|
664
|
861
|
|
16 コア、128 GB (専用)
|
64000000
|
160
|
68801
|
2312
|
2449
|
r:w=50:50
|
CPU:メモリ
|
インスタンスタイプ
|
Operationcount
|
Threads
|
Throughput
|
RAL
|
WAL
|
|
1:2
|
1 コア、2 GB (汎用)
|
1000000
|
4
|
3062
|
1207
|
1399
|
|
2 コア、4 GB (汎用)
|
2000000
|
8
|
6610
|
1128
|
1318
|
|
4 コア、8 GB (汎用)
|
4000000
|
16
|
19743
|
743
|
864
|
|
8 コア、16 GB (汎用)
|
8000000
|
32
|
22750
|
987
|
1809
|
|
1:4
|
8 コア、32 GB (汎用)
|
16000000
|
32
|
21763
|
1010
|
1907
|
|
16 コア、64 GB (汎用)
|
32000000
|
128
|
43498
|
2162
|
3696
|
|
1:8
|
2 コア、16 GB (専用)
|
8000000
|
8
|
5680
|
1345
|
1930
|
|
4 コア、32 GB (専用)
|
16000000
|
16
|
10470
|
1064
|
1971
|
|
8 コア、64 GB (専用)
|
32000000
|
32
|
20427
|
790
|
2329
|
|
16 コア、128 GB (専用)
|
64000000
|
160
|
29445
|
2944
|
7891
|
r:w=5:95
|
CPU:メモリ
|
インスタンスの仕様
|
Operation count
|
Threads
|
Throughput
|
RAL
|
WAL
|
|
1:2
|
1 コア、2 GB (汎用)
|
1000000
|
4
|
2431
|
1511
|
1649
|
|
2 コア、4 GB (汎用)
|
2000000
|
8
|
5336
|
1406
|
1608
|
|
4 コア、8 GB (汎用)
|
4000000
|
16
|
14496
|
858
|
1110
|
|
8 コア、16 GB (汎用)
|
8000000
|
32
|
14573
|
958
|
2253
|
|
1:4
|
8 コア、32 GB (汎用)
|
16000000
|
32
|
13812
|
995
|
2377
|
|
16 コア、64 GB (汎用)
|
32000000
|
128
|
20663
|
2831
|
6348
|
|
1:8
|
2 コア、16 GB (専用)
|
8000000
|
8
|
4079
|
3201
|
8066
|
|
4 コア、32 GB (専用)
|
16000000
|
16
|
7154
|
1080
|
2288
|
|
8 コア、64 GB (専用)
|
32000000
|
32
|
12585
|
783
|
2626
|
|
16 コア、128 GB (専用)
|
64000000
|
160
|
17083
|
4241
|
9615
|
100% 書き込みワークロード
|
CPU:メモリ
|
インスタンスの仕様
|
Operation count
|
Threads
|
Throughput
|
RAL
|
WAL
|
|
1:2
|
1 コア、2 GB (汎用)
|
1,000,000
|
4
|
2,429
|
0
|
1,642
|
|
2 コア、4 GB (汎用)
|
2,000,000
|
8
|
5,238
|
0
|
1,643
|
|
4 コア、8 GB (汎用)
|
4,000,000
|
16
|
13,794
|
0
|
1,154
|
|
8 コア、16 GB (汎用)
|
8,000,000
|
32
|
14,566
|
0
|
2,189
|
|
1:4
|
8 コア、32 GB (汎用)
|
16,000,000
|
32
|
13,485
|
0
|
2,361
|
|
16 コア、64 GB (汎用)
|
32,000,000
|
128
|
19,758
|
0
|
6,461
|
|
1:8
|
2 コア、16 GB (専用)
|
8,000,000
|
8
|
3,939
|
0
|
8,097
|
|
4 コア、32 GB (専用)
|
16,000,000
|
16
|
6,940
|
0
|
2,298
|
|
8 コア、64 GB (専用)
|
32,000,000
|
32
|
12,567
|
0
|
2,539
|
|
16 コア、128 GB (専用)
|
64,000,000
|
160
|
16,325
|
0
|
9,770
|
クラウドディスクアーキテクチャインスタンス (MongoDB 4.4)
データロード性能
|
CPU:メモリ
|
インスタンスの仕様
|
Recordcount
|
Threads
|
Throughput
|
RAL
|
WAL
|
|
1:2
|
4 コア、8 GB (専用)
|
4000000
|
16
|
18235
|
0
|
871
|
|
8 コア、16 GB (専用)
|
8000000
|
32
|
35643
|
0
|
891
|
|
16 コア、32 GB (専用)
|
16000000
|
64
|
65345
|
0
|
971
|
|
1:4
|
2 コア、8 GB (専用)
|
4000000
|
8
|
6613
|
0
|
1202
|
|
8 コア、32 GB (専用)
|
16000000
|
64
|
45952
|
0
|
1385
|
|
16 コア、64 GB (専用)
|
32000000
|
96
|
61973
|
0
|
1539
|
|
1:8
|
2 コア、16 GB (専用)
|
8000000
|
8
|
6224
|
0
|
1280
|
|
4 コア、32 GB (専用)
|
16000000
|
16
|
18603
|
0
|
857
|
r:w=100:0
|
CPU:メモリ
|
インスタンスの仕様
|
Operationcount
|
Threads
|
Throughput
|
RAL
|
WAL
|
|
1:2
|
4 コア、8 GB (専用)
|
4000000
|
16
|
24945
|
634
|
0
|
|
8 コア、16 GB (専用)
|
8000000
|
32
|
33270
|
938
|
0
|
|
16 コア、32 GB (専用)
|
16000000
|
64
|
55703
|
1136
|
0
|
|
1:4
|
2 コア、8 GB (専用)
|
4000000
|
8
|
10989
|
723
|
0
|
|
8 コア、32 GB (専用)
|
16000000
|
64
|
36039
|
1740
|
0
|
|
16 コア、64 GB (専用)
|
32000000
|
96
|
59960
|
1585
|
0
|
|
1:8
|
2 コア、16 GB (専用)
|
8000000
|
8
|
11298
|
703
|
0
|
|
4 コア、32 GB (専用)
|
16000000
|
16
|
24306
|
653
|
0
|
r:w=95:5
|
CPU:メモリ
|
インスタンスの仕様
|
Operationcount
|
Threads
|
Throughput
|
RAL
|
WAL
|
|
1:2
|
4 コア、8 GB (専用)
|
4000000
|
16
|
22471
|
797
|
1161
|
|
8 コア、16 GB (専用)
|
8000000
|
32
|
29543
|
1064
|
1199
|
|
16 コア、32 GB (専用)
|
16000000
|
64
|
53466
|
1178
|
1300
|
|
1:4
|
2 コア、8 GB (専用)
|
4000000
|
8
|
8986
|
854
|
1480
|
|
8 コア、32 GB (専用)
|
16000000
|
64
|
34128
|
1829
|
1970
|
|
16 コア、64 GB (専用)
|
32000000
|
96
|
78363
|
1196
|
1420
|
|
1:8
|
2 コア、16 GB (専用)
|
8000000
|
8
|
8806
|
867
|
1619
|
|
4 コア、32 GB (専用)
|
16000000
|
16
|
20132
|
770
|
1181
|
r:w=50:50
|
CPU:メモリ
|
インスタンスの仕様
|
Operationcount
|
Threads
|
Throughput
|
RAL
|
WAL
|
|
1:2
|
4 コア、8 GB (専用)
|
4000000
|
16
|
14127
|
1009
|
1238
|
|
8 コア、16 GB (専用)
|
8000000
|
32
|
19887
|
1496
|
1670
|
|
16 コア、32 GB (専用)
|
16000000
|
64
|
23120
|
2680
|
2819
|
|
1:4
|
2 コア、8 GB (専用)
|
4000000
|
8
|
5132
|
1370
|
1735
|
|
8 コア、32 GB (専用)
|
16000000
|
64
|
18929
|
2930
|
3615
|
|
16 コア、64 GB (専用)
|
32000000
|
96
|
25612
|
3675
|
4363
|
|
1:8
|
2 コア、16 GB (専用)
|
8000000
|
8
|
4841
|
1438
|
1855
|
|
4 コア、32 GB (専用)
|
16000000
|
16
|
13051
|
1080
|
1356
|
r:w=5:95
|
CPU:メモリ
|
インスタンスの仕様
|
Operationcount
|
Threads
|
Throughput
|
RAL
|
WAL
|
|
1:2
|
4 コア、8 GB (専用)
|
4000000
|
16
|
10266
|
1141
|
1570
|
|
8 コア、16 GB (専用)
|
8000000
|
32
|
13556
|
2141
|
2351
|
|
16 コア、32 GB (専用)
|
16000000
|
64
|
14447
|
4295
|
4412
|
|
1:4
|
2 コア、8 GB (専用)
|
4000000
|
8
|
4226
|
1591
|
1902
|
|
8 コア、32 GB (専用)
|
16000000
|
64
|
12055
|
5109
|
5210
|
|
16 コア、64 GB (専用)
|
32000000
|
96
|
15216
|
5877
|
8503
|
|
1:8
|
2 コア、16 GB (専用)
|
8000000
|
8
|
3874
|
1792
|
2072
|
|
4 コア、32 GB (専用)
|
16000000
|
16
|
10083
|
1106
|
1605
|
r:w=0:100
|
CPU:メモリ
|
インスタンスの仕様
|
Operationcount
|
Threads
|
Throughput
|
RAL
|
WAL
|
|
1:2
|
4 コア、8 GB (専用)
|
4000000
|
16
|
9960
|
0
|
1592
|
|
8 コア、16 GB (専用)
|
8000000
|
32
|
13064
|
0
|
2423
|
|
16 コア、32 GB (専用)
|
16000000
|
64
|
13743
|
0
|
4615
|
|
1:4
|
2 コア、8 GB (専用)
|
4000000
|
8
|
4287
|
0
|
1860
|
|
8 コア、32 GB (専用)
|
16000000
|
64
|
11611
|
0
|
5441
|
|
16 コア、64 GB (専用)
|
32000000
|
96
|
14391
|
0
|
8746
|
|
1:8
|
2 コア、16 GB (専用)
|
8000000
|
8
|
3854
|
0
|
2067
|
|
4 コア、32 GB (専用)
|
16000000
|
16
|
9711
|
0
|
1638
|
パフォーマンス比較
CPU:メモリ=1:2
-
インスタンスタイプ:4 コア、8 GB メモリ
-
インスタンスタイプ:8 コア、16 GB メモリ
CPU:メモリ=1:8
-
インスタンスタイプ:2 コア、16 GB メモリ
-
インスタンスタイプ:4 コア、32 GB メモリ
テスト結果分析
説明
クラウドディスクアーキテクチャには以下のような利点があります。
-
専用リソースにより、共有物理サーバからの競合が排除されます。
-
データ移行なしで、コンピューティングとストレージを独立してスケーリングできます。
-
ESSD PL1、PL2、PL3 のパフォーマンスレベルをサポートし、コスト効率に優れた従量課金に対応しています。