本文通过ECS(Elastic Compute Service)访问云数据库MongoDB,测试云数据库MongoDB单节点实例的高连接能力。
准备工作
- 创建ECS实例和云数据库MongoDB单节点实例。如何创建,请参见创建单节点实例和
通过控制台使用ECS实例(快捷版)
云服务器ECS快速入门
。本测试的实例配置如下:
配置项 ECS实例 云数据库MongoDB单节点实例 说明 地域及可用区 华东1(杭州)可用区H 华东1(杭州)可用区H ECS实例和云数据库MongoDB单节点实例在同一地域及可用区。 网络类型 专有网络VPC 专有网络VPC ECS实例和云数据库MongoDB单节点实例在同一VPC。 CPU和内存 16核 128 GB - 规格类型:8核 32 GB
- 磁盘空间:200 GB
不涉及 实例规格族 ecs.hfr6 通用型 实例规格 ecs.hfr6.4xlarge dds.sn4.2xlarge.1 存储类型 ESSD云盘 ESSD云盘 实例或镜像版本 Alibaba Cloud Linux 3.2104 LTS 64位 MongoDB 3.4 - 将ECS实例的主私网IP添加到云数据库MongoDB单节点实例的白名单中。如何添加,请参见设置白名单。
- 在ECS实例上安装开源社区的YCSB工具。如何安装和使用,请参见YCSB。
测试步骤
- 登录ECS控制台,远程连接ECS实例。如何连接,请参见连接ECS实例。
- 执行如下测试命令,加载数据至云数据库MongoDB单节点实例。
./bin/ycsb load mongodb -s -p workload=site.ycsb.workloads.CoreWorkload -p recordcount=30000000 -p mongodb.url="mongodb://root:123456Aa@dds-bp13e84d111a1a****.mongodb.rds.aliyuncs.com:3717/admin" -threads 8
您需要替换如下参数值:123456Aa
:云数据库MongoDB单节点实例的root账号密码。dds-bp13e84d111a1a****.mongodb.rds.aliyuncs.com:3717
:云数据库MongoDB单节点实例的主节点连接地址。
- 启动YCSB进程,根据不同场景进行读写测试。
场景 测试命令 说明 并发数为8 ./bin/ycsb run mongodb -s -p workload=site.ycsb.workloads.CoreWorkload -p recordcount=30000000 -p operationcount=50000000 -p readproportion=0.5 -p updateproportion=0.5 -p requestdistribution=zipfian -p mongodb.url="mongodb://root:123456Aa@dds-bp13e84d111a1a****.mongodb.rds.aliyuncs.com:3717/admin" -threads 8
您需要替换如下参数值:123456Aa
:云数据库MongoDB单节点实例的root账号密码。dds-bp13e84d111a1a****.mongodb.rds.aliyuncs.com:3717
:云数据库MongoDB单节点实例的主节点连接地址。
并发数为2000 ./bin/ycsb run mongodb -s -p workload=site.ycsb.workloads.CoreWorkload -p recordcount=30000000 -p operationcount=50000000 -p readproportion=0.5 -p updateproportion=0.5 -p requestdistribution=zipfian -p mongodb.url="mongodb://root:123456Aa@dds-bp13e84d111a1a****.mongodb.rds.aliyuncs.com:3717/admin" -threads 2000
并发数为10000 ./bin/ycsb run mongodb -s -p workload=site.ycsb.workloads.CoreWorkload -p recordcount=30000000 -p operationcount=50000000 -p readproportion=0.5 -p updateproportion=0.5 -p requestdistribution=zipfian -p mongodb.url="mongodb://root:123456Aa@dds-bp13e84d111a1a****.mongodb.rds.aliyuncs.com:3717/admin" -threads 10000
- 查看云数据库MongoDB单节点实例的连接数。
测试结果
- 规格为8核 32 GB的云数据库MongoDB单节点实例有能力承受10000个连接。
- 连接实例会占用实例的一部分CPU资源,建议将连接数控制在一定范围内。
- 并发数增加到一定数量后,CPU使用率和操作QPS数不再随着并发数的增加而提高。您需要根据自身业务情况,合理控制并发数。