性能测试方法
本章基于GeminiDB Mongo副本集4.0版本,进行性能测试,具体包括测试环境,测试步骤,以及测试结果。
测试环境
- 区域:中国-香港
- 可用区:可用区一
- 弹性云服务器(Elastic Cloud Server,简称ECS):规格选择通用计算型s3.2xlarge.2,8U16GB,操作系统镜像使用CentOS 7.5 64位版本。
- 被测试副本集实例的规格:覆盖副本集实例支持的全部规格类型,详见表1。
测试指标
OPS:Operation Per Second,数据库每秒执行的操作数。
测试步骤
- 配置workload文件。
按照表2所示的业务模型,配置workload中的“readproportion”、“insertproportion”、“updateproportion”的值。
按照表3所示的预置数据量,配置workload中的“recordcount”的值。
- 以业务模型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
- 以业务模型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模型
- 测试并发数 :128
- 文档模型
- 预置数据量
本次性能测试中,针对每种规格的副本集,测试了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