すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for MongoDB:パフォーマンスに関するホワイトペーパー

最終更新日:Jun 19, 2025

ApsaraDB for MongoDB は、Apsara 分散システムと高信頼性ストレージエンジンに基づいて開発されており、MongoDB プロトコルと互換性があります。 ApsaraDB for MongoDB は、マルチノードアーキテクチャを使用して高可用性を確保し、弾性スケーリング、ディザスタリカバリ、バックアップとロールバック、パフォーマンス最適化などの機能を提供します。

テスト環境

構成項目

ストレステスト用の 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 のベースライン)

整合性

-

デフォルトの読み取り / 書き込みコンサーン

デフォルトの読み取り / 書き込みコンサーン

説明

ECS インスタンスと ApsaraDB for MongoDB インスタンスが同じリージョンとゾーンにデプロイされている場合、ラウンドトリップ時間 (RTT) は約 0.104 ミリ秒です。

テストツール

オープンソースの YCSB 0.17.0 をストレステストに使用します。

説明

YCSB は、複数のデータベースのパフォーマンステストで使用できる Java ツールです。 インストールと使用方法の詳細については、「YCSB」をご参照ください。

テスト手順

  1. ECS インスタンスの [プライマリプライベート IP アドレス] を、物理サーバーまたはクラウドディスクを使用する ApsaraDB for MongoDB インスタンスのホワイトリストに追加します。 詳細については、「インスタンスのホワイトリストを変更する」をご参照ください。

    説明

    ECS コンソール にログインし、[インスタンスの詳細] ページの [構成情報] セクションで [プライマリプライベート IP アドレス] を表示できます。

  2. ECS インスタンスに接続します。 詳細については、「ECS インスタンスに接続する」をご参照ください。

  3. 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 コンソール にログインし、[データベース接続] ページの [内部接続 - VPC] セクションでインスタンスエンドポイントを表示できます。

    • threads 8: クライアント上の同時スレッド数。

  4. 次のテストコマンドを実行して、パフォーマンステストを実行します。

    ./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 です。

      説明

      ApsaraDB for MongoDB コンソール にログインし、[データベース接続] ページの [内部接続 - VPC] セクションでインスタンスエンドポイントを表示できます。

    • 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: ApsaraDB for MongoDB インスタンスのスループット。 単位:1 秒あたりの操作数 (OPS)。

  • RAL: 読み取り操作の平均レイテンシ。 単位:マイクロ秒 (us)。

  • WAL: 書き込み操作の平均レイテンシ。 単位:マイクロ秒 (us)。

説明

このトピックでは、RAL または WAL が 0 に設定されている場合、読み取りまたは書き込み操作は含まれません。

以下のセクションでは、さまざまな読み取り / 書き込み比率における、物理サーバーを使用する ApsaraDB for MongoDB インスタンスとクラウドディスクを使用する ApsaraDB for MongoDB インスタンスのテスト結果とパフォーマンス比較を示します。

MongoDB 4.2 を実行し、物理サーバーを使用するインスタンス

ロードテストデータ

CPU:メモリ

インスタンス仕様

レコード数

スレッド数

スループット

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:メモリ

インスタンス仕様

操作回数

スレッド数

スループット

RAL

WAL

1:2

1 コア、2 GB(汎用)

1000000

4

6387

623

0

2 コア、4 GB(汎用)

2000000

8

12893

616

0

4 コア、8 GB(汎用)

4000000

16

37016

427

0

8 コア、16 GB(汎用)

8000000

32

48014

658

0

1:4

8 コア、32 GB(汎用)

16000000

32

44251

1589

0

16 コア、64 GB(汎用)

32000000

128

57252

2226

0

1:8

2 コア、16 GB(専用)

8000000

8

12436

641

0

4 コア、32 GB(専用)

16000000

16

20551

773

0

8 コア、64 GB(専用)

32000000

32

50246

632

0

16 コア、128 GB(専用)

64000000

160

66876

2385

0

r:w=95:5

CPU:メモリ

インスタンス仕様

操作カウント

スレッド数

スループット

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:メモリ

インスタンス仕様

操作回数

スレッド

スループット

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:メモリ

インスタンス仕様

操作回数

スレッド

スループット

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

r:w=0:100

CPU:メモリ

インスタンス仕様

操作回数

スレッド

スループット

RAL

WAL

1:2

1 コア、2 GB(汎用)

1000000

4

2429

0

1642

2 コア、4 GB(汎用)

2000000

8

5238

0

1643

4 コア、8 GB(汎用)

4000000

16

13794

0

1154

8 コア、16 GB(汎用)

8000000

32

14566

0

2189

1:4

8 コア、32 GB(汎用)

16000000

32

13485

0

2361

16 コア、64 GB(汎用)

32000000

128

19758

0

6461

1:8

2 コア、16 GB(専用)

8000000

8

3939

0

8097

4 コア、32 GB(専用)

16000000

16

6940

0

2298

8 コア、64 GB(専用)

32000000

32

12567

0

2539

16 コア、128 GB(専用)

64000000

160

16325

0

9770

MongoDB 4.4 を実行し、クラウドディスクを使用するインスタンス

テストデータのロード

CPU:メモリ

インスタンス仕様

レコード数

スレッド数

スループット

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:メモリ

インスタンス仕様

操作カウント

スレッド

スループット

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:メモリ

インスタンス仕様

操作カウント

スレッド数

スループット

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:メモリ

インスタンス仕様

操作カウント

スレッド

スループット

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:メモリ

インスタンス仕様

操作カウント

スレッド数

スループット

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:メモリ

インスタンス仕様

操作カウント

スレッド数

スループット

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 メモリのインスタンス4核8GB数据

  • 8 コア、16 GB メモリのインスタンス8核16GB

CPU:メモリ=1:4

  • 8 コア、32 GB メモリのインスタンス8核32GB数据

  • 16 コア、64 GB メモリのインスタンス16核64GB数据

CPU:メモリ=1:8

  • 2 コア、16 GB メモリのインスタンス2核16GB数据

  • 4 コア、32 GB メモリのインスタンス4核32GB数据

結果分析

  • CPU:Memory=1:2: 物理サーバーを使用する ApsaraDB for MongoDB インスタンスは、クラウドディスクを使用するインスタンスよりも優れたパフォーマンスを提供します。パフォーマンスの差は、読み取り/書き込み比率が異なる場合、約 7% ~ 50% です。最大の差は、4 CPU コアと 8 GB のメモリを搭載した ApsaraDB for MongoDB インスタンスに存在します。

  • CPU:Memory=1:4: 物理サーバーを使用する ApsaraDB for MongoDB インスタンスとクラウドディスクを使用するインスタンスのパフォーマンスの差は約 10% に減少します。物理サーバーを使用する ApsaraDB for MongoDB インスタンスは書き込みシナリオに適しており、クラウドディスクを使用するインスタンスは読み取りシナリオに適しています。

  • CPU:Memory=1:8:

    • 物理サーバーを使用する ApsaraDB for MongoDB インスタンスは、クラウドディスクを使用するインスタンスとほぼ同じパフォーマンスを提供します。

    • メモリの増加に伴い、クラウドディスクを使用する ApsaraDB for MongoDB インスタンスは、物理サーバーを使用するインスタンスよりも優れたパフォーマンスを提供します。最大の差は、4 CPU コアと 32 GB のメモリを搭載した ApsaraDB for MongoDB インスタンスに存在します。

説明

クラウドディスクを使用する ApsaraDB for MongoDB インスタンスには、次の利点があります。

  • すべてのリソースが専用であるため、物理サーバーを使用する ApsaraDB for MongoDB インスタンスで発生するリソース競合を回避できます。

  • コンピューティングリソースとストレージリソースを自動的にスケーリングできます。データ移行は必要ありません。

  • ESSD には、PL1、PL2、PL3 などのパフォーマンスレベル (PL) があります。これらのレベルの ESSD は、従量課金制の ApsaraDB for MongoDB インスタンスにとって費用対効果が高くなります。