测试方法
本章节基于GeminiDB DynamoDB,进行性能测试,具体包括测试环境、测试步骤、以及测试模型。
测试环境
- 区域:华北-北京四。
- 可用区:可用区1。
- 弹性云服务器(Elastic Cloud Server,简称ECS):规格选择h3.4xlarge.2,16U32GB,操作系统镜像使用CentOS 7.5 64位版本。
- 压测数据模型:单行1KB大小。
- 压测平均CPU负载:50%。
- 被测试实例的规格:覆盖以下规格类型,详见表1 实例规格。
测试工具
本次测试采用开源社区的YCSB 0.17.0版本的测试工具,YCSB连接GeminiDB DynamoDB兼容版实例负载均衡策略参考提供的均衡插件。
YCSB是一款广泛使用的数据库性能测试工具,具体使用方法请参见YCSB。
测试指标
OPS:Operation Per Second,数据库每秒执行的操作数。
测试步骤
- 配置workload文件。
按照表2 测试模型所示的业务模型,配置workload中的“readproportion”、“insertproportion”、“updateproportion”、“scanproportion”、“readmodifywriteproportion”的值。
按照表3 预置数据量所示的预置数据量,配置workload中的“recordcount”的值。
- 以测试模型workload-insert-mostly为例,执行以下命令,准备数据。
nohup ./bin/ycsb load dynamodb -s -P workloads/workload-insert-mostly -P dynamodb.properties -p operationcount=400000000 -p recordcount=400000000 -threads ${thread} -p maxexecutiontime=${maxexecutiontime} -s 1> data_load.log 2>&1 &
- 以测试模型workload-insert-mostly为例,执行以下命令,测试性能。
nohup ./bin/ycsb run dynamodb -s -P workloads/workload-insert-mostly -P dynamodb.properties -p operationcount=9000000 -p recordcount=9000000 -threads ${thread} -s 1> workload-insert-mostly_run.log 2>&1 &
测试模型
- workload模型