测试结果

本文介绍云数据库MongoDB实例的性能测试结果。

测试结果

场景说明

  • 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:读写比例依次为0100%。

参数说明

  • recordcount:加载至云数据库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规格最为明显。

说明

云盘架构具有如下优势:

  • 所有资源都是独享的,不存在物理机架构下资源抢占的情况。

  • 计算和存储可以分别进行弹性伸缩,无需数据迁移。

  • 具有不同的性能等级,包括ESSD PL1、ESSD PL2ESSD PL3,按量付费的性价比更高。