全部產品
Search
文件中心

ApsaraDB for MongoDB:效能白皮書

更新時間:Jun 19, 2025

ApsaraDB for MongoDB(ApsaraDB for MongoDB)完全相容MongoDB協議,基于飛天分布式系統和高可靠儲存引擎,提供多節點高可用架構、彈性擴容、容災、備份復原、效能最佳化等解決方案。

測試環境

配置項

壓測ECS執行個體

MongoDB物理機架構執行個體

MongoDB雲端硬碟架構執行個體

地區及可用性區域

華東1(杭州)可用性區域H

華東1(杭州)可用性區域H

華東1(杭州)可用性區域H

網路類型

Virtual Private Cloud

Virtual Private Cloud

Virtual Private Cloud

執行個體規格類型系列

計算平衡增強型c6e

通用型和獨享型

獨享型

執行個體規格

ecs.c6e.2xlarge(8核 16 GB)

包含多種在售規格,詳情請參見測試結果

包含多種在售規格,詳情請參見測試結果

儲存類型

ESSD PL1雲端硬碟

SSD本地碟

ESSD PL1雲端硬碟

儲存空間

-

500 GB

500 GB

拓撲結構

-

標準複本集執行個體(三節點,一個主節點、一個從節點和一個隱藏節點)

標準複本集執行個體(三節點,一個主節點、一個從節點和一個隱藏節點)

鏡像版本

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)

可調一致性配置

-

Default read/write concern

Default read/write concern

說明

壓測ECS執行個體和ApsaraDB for MongoDB執行個體在同一地區及可用性區域,RTT(Round-Trip Time)大概在0.104ms左右。

測試載入器

本文將採用開源社區的YCSB 0.17.0壓測工具進行壓測。

說明

YCSB是一款Java編寫的支援多種資料庫的效能測試工具,具體安裝和使用方法請參見YCSB

測試方案

  1. 將ECS執行個體的主私網IP添加到ApsaraDB for MongoDB執行個體的白名單中。如何添加,請參見修改白名單

    說明

    您可以登入ECS控制台,在執行個體詳情頁面的網路資訊地區查看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控制台,在資料庫連接頁面的私網串連 - 專用網路地區查看串連地址。

    • 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控制台,在資料庫連接頁面的私網串連 - 專用網路地區查看串連地址。
    • 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:輸送量,以每秒運算元(OPS,Operation per second)為單位。

  • RAL:讀操作平均延遲,單位:微秒(us)。

  • WAL:寫操作平均延遲,單位:微秒(us)。

說明

本文中RALWAL取值為0,表示不涉及讀操作或寫操作。

如下為物理機架構執行個體和雲端硬碟架構執行個體在不同讀寫比下的測試結果以及效能對比圖。

物理機架構執行個體(MongoDB 4.2)

載入測試資料

CPU:Memory

執行個體規格

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:Memory

執行個體規格

operationcount

threads

throughput

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:Memory

執行個體規格

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:Memory

執行個體規格

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:Memory

執行個體規格

operationcount

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

r:w=0:100

CPU:Memory

執行個體規格

operationcount

threads

throughput

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:Memory

執行個體規格

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:Memory

執行個體規格

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:Memory

執行個體規格

operatiocount

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:Memory

執行個體規格

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:Memory

執行個體規格

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:Memory

執行個體規格

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:Memory=1:2

  • 執行個體規格為4核 8 GB:4核8GB資料

  • 執行個體規格為8核 16 GB:8核16GB

CPU:Memory=1:4

  • 執行個體規格為8核 32 GB:8核32GB資料

  • 執行個體規格為16核 64 GB:16核64GB資料

CPU:Memory=1:8

  • 執行個體規格為2核 16 GB:2核16GB資料

  • 執行個體規格為4核 32 GB:4核32GB資料

測試結果分析

  • CPU:Memory=1:2:物理機架構的執行個體效能優於雲端硬碟架構的執行個體效能。不同的讀寫比測試環境下,效能差異大約在7%~50%之間,其中4核 8 GB規格最為明顯。

  • CPU:Memory=1:4:物理機架構和雲端硬碟架構的執行個體效能差異縮小到了10%左右。其中,物理機架構執行個體更適用於寫情境,雲端硬碟架構執行個體更適用於讀情境。

  • CPU:Memory=1:8

    • 物理機架構和雲端硬碟架構的執行個體效能基本無差異。

    • 隨著記憶體的增高,雲端硬碟架構的執行個體效能明顯優於物理機架構,其中4核 32 GB規格最為明顯。

說明

雲端硬碟架構具有如下優勢:

  • 所有資源都是獨享的,不存在物理機架構下資源搶佔的情況。

  • 計算和儲存可以分別進行Auto Scaling,無需資料移轉。

  • 具有不同的效能等級,包括ESSD PL1、ESSD PL2和ESSD PL3,隨用隨付的性價比更高。