更新时间:2023-11-21 gmt 08:00

测试方法-凯发k8国际娱乐官网入口

本章基于geminidb mongo副本集4.0版本,进行性能测试,具体包括测试环境,测试步骤,以及测试结果。

测试环境

  • 区域:华北-北京四
  • 可用区:可用区一
  • 弹性云服务器(elastic cloud server,简称ecs):规格选择通用计算型s3.2xlarge.2,8u16gb,操作系统镜像使用centos 7.5 64位版本。
  • 被测试副本集实例的规格:覆盖副本集实例支持的全部规格类型,详见表1
    表1 副本集规格

    副本集编号

    数据库版本

    实例规格

    被测副本集1

    4.0

    4u16gb

    被测副本集2

    4.0

    8u32gb

    被测副本集3

    4.0

    16u64gb

    被测副本集4

    4.0

    32u128gb

测试工具

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

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

测试指标

ops:operation per second,数据库每秒执行的操作数。

测试步骤

  1. 配置workload文件。

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

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

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

    ./bin/ycsb load mongodb -s -p workloads/workload_s1 -p mongodb.url=mongodb://${username}:${password}@${mongodip}:${port},${mongodip}:${port},${mongodip}:${port}/ycsb?authsource=admin&replicaset=replica&readpreference=secondary -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}@${mongodip}:${port},${mongodip}:${port},${mongodip}:${port}/ycsb?authsource=admin&replicaset=replica&readpreference=secondary -threads ${threadnum} -p maxexecutiontime=1800 1>workload_s1_run.result 2> workload_s1_run.log

    • ${mongodip}为geminidb mongo副本集实例下主备节点的内网ip。
    • ${password}为geminidb mongo副本集实例的管理员密码。
    • ${threadnum}为运行测试的并发线程数,本次测试的并发数为128。

测试模型

  • workload模型
    表2 workload模型

    workload模型编号

    workload模型

    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种预置数据量下的性能。

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

    表3 预置数据量

    副本集编号

    实例规格

    预置小数据量

    预置大数据量

    被测副本集1

    4u16gb

    存储容量:10gb

    recordcount:10000000

    存储容量:100gb

    recordcount:100000000

    被测副本集2

    8u32gb

    存储容量:10gb

    recordcount:10000000

    存储容量:100gb

    recordcount:100000000

    被测副本集3

    16u64gb

    存储容量:10gb

    recordcount:10000000

    存储容量:100gb

    recordcount:100000000

    被测副本集4

    32u128gb

    存储容量:10gb

    recordcount:10000000

    存储容量:100gb

    recordcount:100000000

  • 数据一致性模型

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

分享:
网站地图