パフォーマンスホワイトペーパー

更新日時2025-01-03 10:00

ApsaraDB for MongoDB は、MongoDB プロトコルを完全にサポートしています。分散 Apsara システムと高信頼性ストレージエンジンをベースとしています。 ApsaraDB for MongoDB は、複数ノードの高可用性アーキテクチャ、エラスティックスケーリング、ディザスタリカバリ、バックアップとロールバック、パフォーマンス最適化などのソリューションを提供します。

テスト環境

項目

ECSインスタンス

物理サーバーを使用するApsaraDB for MongoDBインスタンス

クラウドディスクを使用するApsaraDB for MongoDBインスタンス

項目

ECSインスタンス

物理サーバーを使用するApsaraDB for MongoDBインスタンス

クラウドディスクを使用するApsaraDB for MongoDBインスタンス

リージョンとゾーン

杭州 (杭州) ゾーンH

杭州 (杭州) ゾーンH

杭州 (杭州) ゾーンH

ネットワークタイプ

VPC

VPC

VPC

インスタンスカテゴリ

c6e: パフォーマンスが強化されたコンピューティング最適化インスタンスファミリー

一般目的および専用

専用型

インスタンスタイプ

ecs.c6e.2xlarge(8コア、16 GB)

いろいろな指定は利用できます。 詳細については、「テスト結果」をご参照ください。

いろいろな指定は利用できます。 詳細については、「テスト結果」をご参照ください。

ストレージタイプ

ESSD PL1

ローカルSSD

ESSD PL1

トポロジ

-

標準レプリカセットインスタンス (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.104msです。

テストツール

オープンソースのYCSB 0.17.0ツールは、ストレステストに使用されます。

説明

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

テストの実行手順

  1. ECSインスタンスのプライマリプライベートIPアドレスをApsaraDB for MongoDBインスタンスのホワイトリストに追加します。 詳細については、「ApsaraDB For MongoDBインスタンスのIPアドレスホワイトリストの変更」をご参照ください。

    説明

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

  2. ECSインスタンスに接続します。 詳細については、「ECSコンソール (エクスプレスバージョン) を使用したECSインスタンスの作成と管理」をご参照ください。

  3. Yahoo Cloud Serving Benchmark (YCSB) ツールを使用して、テストデータを読み込みます。

    . /bin/ycsb load mongodb -s -pワークロード=site.ycsb.workloads.CoreWorkload -p recordcount=1000000 -p mongodb.url="mongodb:// test:**** @ dds-bp13e84d11 **** .mongodb.rds.aliyuncs.com:3717/admin"-スレッド8

    次のアイテムを変更できます。

    • recordcount=1000000: インスタンスにロードされたデータレコードの総数。

    • mongodb.url="mongodb:// test:**** @ dds-bp13e84d11 **** .mongodb.rds.aliyuncs.com:3717/admin": インスタンスのエンドポイント。 データベースアカウントはtestで、データベースはadminです。

      説明

      エンドポイントは、ApsaraDB for MongoDBコンソール[データベース接続] ページの [内部接続-VPC] セクションで取得できます。

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

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

    . /bin/ycsb run mongodb -s -pワークロード=site.ycsb.workloads.CoreWorkload -p recordcount=1000000 -p operationcount=5000000 -p insertproportion=0 -p readproportion=50 -p updateproportion=50 -p requestdistribution=zipfian -p mongodb. ur.url="3717-" mongos.b///////////t///////////

    次のアイテムを変更できます。

    • recordcount=1000000: インスタンスにロードされたデータレコードの総数。

    • operationcount=5000000: 読み取り操作と書き込み操作の合計数。

    • insertproportion=0: ロード操作の比率。

    • readproportion=50: 読み取り操作の比率。

    • updateproportion=50: 更新操作の比率。

    • mongodb.url="mongodb:// test:**** @ dds-bp13e84d11 **** .mongodb.rds.aliyuncs.com:3717/admin": インスタンスのエンドポイント。 データベースアカウントは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: クライアント上の同時スレッドの数。

  • スループット: ApsaraDB for MongoDBインスタンスのスループット。 単位: 1秒あたりの操作 (OPS) 。

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

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

説明

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

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

MongoDB 4.2を実行し、物理サーバーを使用するインスタンス
MongoDB 4.4を実行し、クラウドディスクを使用するインスタンス
性能比較

ロードテストデータ

CPU: メモリ

インスタンスタイプ

recordcount

スレッド

スループット

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

インスタンスタイプ

operationcount

スレッド

スループット

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

インスタンスタイプ

operationcount

スレッド

スループット

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

スレッド

スループット

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

インスタンスタイプ

operationcount

スレッド

スループット

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

インスタンスタイプ

operationcount

スレッド

スループット

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

ロードテストデータ

CPU: メモリ

インスタンスタイプ

recordcount

スレッド

スループット

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

スレッド

スループット

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

インスタンスタイプ

operatiocount

スレッド

スループット

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

スレッド

スループット

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

スレッド

スループット

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

スレッド

スループット

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 CPUコアと8 GBのメモリ4核8GB数据を持つインスタンス

  • 8 CPUコアと16 GBのメモリ8核16GBを持つインスタンス

CPU: メモリ=1:4

  • 8 CPUコアと32 GBのメモリ8核32GB数据を持つインスタンス

  • 16 CPUコアと64 GBのメモリ16核64GB数据を持つインスタンス

CPU: メモリ=1:8

  • 2 CPUコアと16 GBのメモリ2核16GB数据を持つインスタンス

  • 4 CPUコアと32 GBのメモリ4核32GB数据を持つインスタンス

結果分析

  • CPU:Memory=1:2: 物理サーバーアーキテクチャを使用するインスタンスのパフォーマンスは、クラウドディスクを使用するインスタンスのパフォーマンスよりも優れています。 性能差は、異なる読み取り /書き込み比で約7% 〜50% である。 最大差は、4つのCPUコアと8 GBのメモリを持つインスタンスに存在します。

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

  • CPU:Memory=1:8:

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

    • メモリの増加に伴い、クラウドディスクを使用するインスタンスは、物理サーバーを使用するインスタンスよりもパフォーマンスが向上します。 最大差は、4コア、32 GBのインスタンスに存在します。

説明

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

  • すべてのリソースは専用であり、物理サーバーを使用するインスタンスで発生するリソースの意図を回避できます。

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

  • ESSD (Enhanced SSD) は、PL1、PL2、およびPL3などのパフォーマンスレベルを有する。 これらのレベルは、従量課金インスタンスの方が費用対効果が高くなります。

  • 目次 (1, O)
  • テスト環境
  • テストツール
  • テストの実行手順
  • テスト結果
  • シナリオ
  • メトリクス
  • 結果分析
フィードバック
phone お問い合わせ

Chat now with Alibaba Cloud Customer Service to assist you in finding the right products and services to meet your needs.

alicare alicarealicarealicare