更新时间:2021-07-27 GMT+08:00
分享

测试方法

本章基于文档数据库服务社区版3.4版本和4.0版本的增强型规格,进行性能测试,具体包括测试环境,测试步骤,以及测试结果。

以下测试过程以集群和副本集实例类型为例。

测试环境

  • 区域:华北-北京四
  • 可用区:可用区一
  • 弹性云服务器(Elastic Cloud Server,简称ECS):规格选择通用计算型s3.2xlarge.2,8U16GB,操作系统镜像使用CentOS 7.5 64位版本。
  • 被测试集群实例的配置:每个实例均包含2个shard节点。
  • 被测试集群和副本集实例的规格:覆盖集群和副本集实例支持的全部规格类型,详见表1表2
    表1 集群规格

    集群编号

    数据库版本

    shard节点规格

    被测集群1

    3.4

    1U4GB

    被测集群2

    3.4

    2U4GB

    被测集群3

    3.4

    2U8GB

    被测集群4

    3.4

    4U8GB

    被测集群5

    3.4

    4U16GB

    被测集群6

    3.4

    8U16GB

    被测集群7

    3.4

    8U32GB

    被测集群8

    3.4

    16U64GB

    被测集群9

    3.4

    32U128GB

    被测集群10

    3.4

    60U256GB

    被测集群11

    4.0

    1U4GB

    被测集群12

    4.0

    2U4GB

    被测集群13

    4.0

    2U8GB

    被测集群14

    4.0

    4U8GB

    被测集群15

    4.0

    4U16GB

    被测集群16

    4.0

    8U16GB

    被测集群17

    4.0

    8U32GB

    被测集群18

    4.0

    16U64GB

    被测集群19

    4.0

    32U128GB

    被测集群20

    4.0

    60U256GB

    表2 副本集规格

    集群编号

    数据库版本

    节点规格

    被测副本集1

    3.4

    1U4GB

    被测副本集2

    3.4

    2U4GB

    被测副本集3

    3.4

    2U8GB

    被测副本集4

    3.4

    4U8GB

    被测副本集5

    3.4

    4U16GB

    被测副本集6

    3.4

    8U16GB

    被测副本集7

    3.4

    8U32GB

    被测副本集8

    3.4

    16U64GB

    被测副本集9

    3.4

    32U128GB

    被测副本集10

    3.4

    60U256GB

    被测副本集11

    4.0

    1U4GB

    被测副本集12

    4.0

    2U4GB

    被测副本集13

    4.0

    2U8GB

    被测副本集14

    4.0

    4U8GB

    被测副本集15

    4.0

    4U16GB

    被测副本集16

    4.0

    8U16GB

    被测副本集17

    4.0

    8U32GB

    被测副本集18

    4.0

    16U64GB

    被测副本集19

    4.0

    32U128GB

    被测副本集20

    4.0

    60U256GB

测试工具

本次测试采用开源社区的YCSB 0.12.0版本的测试工具。

YCSB是一款广泛使用的数据库性能测试工具,具体使用方法请参见YCSB

测试指标

OPS:Operation Per Second,数据库每秒执行的操作数。

测试步骤

  1. 配置workload文件。

    按照表3所示的业务模型,配置workload中的“readproportion”、“insertproportion”、“updateproportion”的值。

    按照表4所示的预置数据量,配置workload中的“recordcount”的值。

  2. 以业务模型workload_s1为例,执行以下命令,准备数据。

    ./bin/ycsb load mongodb -s -P workloads/workload_s1 -p mongodb.url=mongodb://${userName}:${password}@${mongosIP}:${port}/ycsb?authSource=admin -threads ${threadNum} 1>workload_s1_load.result 2> workload_s1_load.log

  3. 以业务模型workload_s1为例,执行以下命令,测试性能。

    ./bin/ycsb run mongodb -s -P workloads/workload_s1 -p mongodb.url=mongodb://${userName}:${password}@${mongosIP}:${port}/ycsb?authSource=admin -threads ${threadNum} -p maxexecutiontime=1800 1>workload_s1_run.result 2> workload_s1_run.log

    • ${mongosIP}为DDS集群实例下mongo节点的内网IP。
    • ${password}为DDS实例的管理员密码。
    • ${threadNum}为运行测试的并发线程数,本次测试的并发数为128。

测试模型

  • workload模型
    表3 业务模型

    业务模型编号

    业务模型

    S1

    100% insert

    S2

    90% update ,10% read

    S3

    65% read ,25% insert, 10% update

    S4

    90% read ,5% insert, 5% update

    S5

    50% update, 50% read

    S6

    100% read

  • 测试并发数 :128
  • 文档模型

    使用YCSB默认配置,每个文档大小1KB,默认“_id”索引。

  • 预置数据量

    本次性能测试中,针对每种规格的集群,测试了2种预置数据量下的性能。

    不同规格集群的预置数据量不同,具体如下表所示。

    表4 预置数据量

    规格

    预置小数据量

    预置大数据量

    1U4GB

    存储容量:10GB

    RecordCount:10000000

    存储容量:100GB

    RecordCount:100000000

    2U4GB

    存储容量:10GB

    RecordCount:10000000

    存储容量:100GB

    RecordCount:100000000

    2U8GB

    存储容量:10GB

    RecordCount:10000000

    存储容量:100GB

    RecordCount:100000000

    4U8GB

    存储容量:10GB

    RecordCount:10000000

    存储容量:100GB

    RecordCount:100000000

    4U16GB

    存储容量:10GB

    RecordCount:10000000

    存储容量:100GB

    RecordCount:100000000

    8U16GB

    存储容量:10GB

    RecordCount:10000000

    存储容量:100GB

    RecordCount:100000000

    8U32GB

    存储容量:10GB

    RecordCount:10000000

    存储容量:100GB

    RecordCount:100000000

    16U64GB

    存储容量:10GB

    RecordCount:10000000

    存储容量:100GB

    RecordCount:100000000

    32U128GB

    存储容量:10GB

    RecordCount:10000000

    存储容量:10GB

    RecordCount:10000000

    60U256GB

    存储容量:10GB

    RecordCount:10000000

    存储容量:10GB

    RecordCount:10000000

  • 数据一致性模型

    弱一致性:Write Concern为{w : 1, j : false},数据写入单个节点磁盘,将返回结果。后台异步持久化下盘,为默认的Write Concern设置。

分享:

    相关文档

    相关产品

close