本文介绍云数据库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:读写比例依次为0和100%。

参数说明

  • recordcount:加载至云数据库MongoDB实例的数据总数。
  • operationcount:执行读写测试的总次数。
  • threads:客户端的并发线程数。
  • throughput:吞吐量,即单位时间内成功传送数据的总数。
  • RAL:读操作平均延迟,单位:微秒(us)。
  • WAL:写操作平均延迟,单位:微秒(us)。
说明 本文中RALWAL取值为0,表示不涉及读操作或写操作。

如下为物理机架构实例和云盘架构实例在不同读写比下的测试结果以及性能对比图。

物理机架构实例(MongoDB 4.2)

加载测试数据
CPU:Memory实例规格recordcountthreadsthroughputRALWAL
1:21核 2 GB(通用型)10000004358901110
2核 4 GB(通用型)2000000876290521
4核 8 GB(通用型)400000016243000654
8核 16 GB(通用型)8000000322674501191
1:48核 32 GB(通用型)16000000322909001095
16核 64 GB(通用型)320000001284109803033
1:82核 16 GB(独享型)80000008655301217
4核 32 GB(独享型)16000000161452601097
8核 64 GB(独享型)3200000032354370899
16核 128 GB(独享型)640000001606007802658
r:w=100:0
CPU:Memory实例规格operationcountthreadsthroughputRALWAL
1:21核 2 GB(通用型)1000000463876230
2核 4 GB(通用型)20000008128936160
4核 8 GB(通用型)400000016370164270
8核 16 GB(通用型)800000032480146580
1:48核 32 GB(通用型)16000000324425115890
16核 64 GB(通用型)320000001285725222260
1:82核 16 GB(独享型)80000008124366410
4核 32 GB(独享型)1600000016205517730
8核 64 GB(独享型)3200000032502466320
16核 128 GB(独享型)640000001606687623850
r:w=95:5
CPU:Memory实例规格operationcountthreadsthroughputRALWAL
1:21核 2 GB(通用型)1000000445568641079
2核 4 GB(通用型)2000000810391757914
4核 8 GB(通用型)40000001634411453561
8核 16 GB(通用型)80000003241095763925
1:48核 32 GB(通用型)160000003239920785926
16核 64 GB(通用型)320000001285514823052381
1:82核 16 GB(独享型)8000000888698711394
4核 32 GB(独享型)1600000016182068561192
8核 64 GB(独享型)320000003247111664861
16核 128 GB(独享型)640000001606880123122449
r:w=50:50
CPU:Memory实例规格operationcountthreadsthroughputRALWAL
1:21核 2 GB(通用型)10000004306212071399
2核 4 GB(通用型)20000008661011281318
4核 8 GB(通用型)40000001619743743864
8核 16 GB(通用型)800000032227509871809
1:48核 32 GB(通用型)16000000322176310101907
16核 64 GB(通用型)320000001284349821623696
1:82核 16 GB(独享型)80000008568013451930
4核 32 GB(独享型)16000000161047010641971
8核 64 GB(独享型)3200000032204277902329
16核 128 GB(独享型)640000001602944529447891
r:w=5:95
CPU:Memory实例规格operationcountthreadsthroughputRALWAL
1:21核 2 GB(通用型)10000004243115111649
2核 4 GB(通用型)20000008533614061608
4核 8 GB(通用型)400000016144968581110
8核 16 GB(通用型)800000032145739582253
1:48核 32 GB(通用型)1600000032138129952377
16核 64 GB(通用型)320000001282066328316348
1:82核 16 GB(独享型)80000008407932018066
4核 32 GB(独享型)1600000016715410802288
8核 64 GB(独享型)3200000032125857832626
16核 128 GB(独享型)640000001601708342419615
r:w=0:100
CPU:Memory实例规格operationcountthreadsthroughputRALWAL
1:21核 2 GB(通用型)10000004242901642
2核 4 GB(通用型)20000008523801643
4核 8 GB(通用型)4000000161379401154
8核 16 GB(通用型)8000000321456602189
1:48核 32 GB(通用型)16000000321348502361
16核 64 GB(通用型)320000001281975806461
1:82核 16 GB(独享型)80000008393908097
4核 32 GB(独享型)1600000016694002298
8核 64 GB(独享型)32000000321256702539
16核 128 GB(独享型)640000001601632509770

云盘架构实例(MongoDB 4.4)

加载测试数据
CPU:Memory实例规格recordcountthreadsthroughputRALWAL
1:24核 8 GB(独享型)400000016182350871
8核 16 GB(独享型)800000032356430891
16核 32 GB(独享型)1600000064653450971
1:42核 8 GB(独享型)40000008661301202
8核 32 GB(独享型)16000000644595201385
16核 64 GB(独享型)32000000966197301539
1:82核 16 GB(独享型)80000008622401280
4核 32 GB(独享型)1600000016186030857
r:w=100:0
CPU:Memory实例规格operationcountthreadsthroughputRALWAL
1:24核 8 GB(独享型)400000016249456340
8核 16 GB(独享型)800000032332709380
16核 32 GB(独享型)16000000645570311360
1:42核 8 GB(独享型)40000008109897230
8核 32 GB(独享型)16000000643603917400
16核 64 GB(独享型)32000000965996015850
1:82核 16 GB(独享型)80000008112987030
4核 32 GB(独享型)1600000016243066530
r:w=95:5
CPU:Memory实例规格operatiocountthreadsthroughputRALWAL
1:24核 8 GB(独享型)400000016224717971161
8核 16 GB(独享型)8000000322954310641199
16核 32 GB(独享型)16000000645346611781300
1:42核 8 GB(独享型)4000000889868541480
8核 32 GB(独享型)16000000643412818291970
16核 64 GB(独享型)32000000967836311961420
1:82核 16 GB(独享型)8000000888068671619
4核 32 GB(独享型)1600000016201327701181
r:w=50:50
CPU:Memory实例规格operationcountthreadsthroughputRALWAL
1:24核 8 GB(独享型)4000000161412710091238
8核 16 GB(独享型)8000000321988714961670
16核 32 GB(独享型)16000000642312026802819
1:42核 8 GB(独享型)40000008513213701735
8核 32 GB(独享型)16000000641892929303615
16核 64 GB(独享型)32000000962561236754363
1:82核 16 GB(独享型)80000008484114381855
4核 32 GB(独享型)16000000161305110801356
r:w=5:95
CPU:Memory实例规格operationcountthreadsthroughputRALWAL
1:24核 8 GB(独享型)4000000161026611411570
8核 16 GB(独享型)8000000321355621412351
16核 32 GB(独享型)16000000641444742954412
1:42核 8 GB(独享型)40000008422615911902
8核 32 GB(独享型)16000000641205551095210
16核 64 GB(独享型)32000000961521658778503
1:82核 16 GB(独享型)80000008387417922072
4核 32 GB(独享型)16000000161008311061605
r:w=0:100
CPU:Memory实例规格operationcountthreadsthroughputRALWAL
1:24核 8 GB(独享型)400000016996001592
8核 16 GB(独享型)8000000321306402423
16核 32 GB(独享型)16000000641374304615
1:42核 8 GB(独享型)40000008428701860
8核 32 GB(独享型)16000000641161105441
16核 64 GB(独享型)32000000961439108746
1:82核 16 GB(独享型)80000008385402067
4核 32 GB(独享型)1600000016971101638

性能对比图

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 PL2和ESSD PL3,按量付费的性价比更高。