测试方法
本小节主要介绍如何使用 YCSB 对 MongoDB Cluster 进行性能测试。
测试场景
通用测试场景有如下 6 种:
场景 | 说明 |
---|---|
workloada |
读写均衡型,Reads/Writes 50:50 |
workloadb |
读多写少型,Reads/Writes 95:5 |
workloadc |
只读型,Reads 100% |
workloadd |
读最近写入记录型,Reads/Insert 95:5 |
workloade |
扫描小区间型,Scan/Insert 95:5 |
workloadf |
读写入记录均衡型,Reads/Insert 50:50 |
测试步骤
-
创建云服务器,配置云服务器与 MongoDB Cluster 集群在相同可用区、VPC、私有网络和安全组。
-
在云服务器上安装 YCSB 测试工具。
-
在云服务器上准备测试数据。
$ ./bin/ycsb.sh load mongodb -s -P ./workloads/<workload_config> -p mongodb.url=mongodb://<mongodb_user_name>:<mongodb_user_password><mongos_ip>:<mongos_port>/ycsb?authSource=admin -p mongodb.writeConcern=unacknowledged >loadlog.txt &
-
在云服务上执行相关测试命令。
$ ./bin/ycsb.sh run mongodb -s -P ./workloads/<workload_config> -p mongodb.url=mongodb://<mongodb_user_name>:<mongodb_user_password>@<mongos_ip>:<mongos_port>/ycsb?authSource=admin -p mongodb.upsert=true -threads <threads_number> -p mongodb.writeConcern=<writeConcern_mode> >runlog.txt &
命令参数说明
参数 | 说明 | 取值示例 |
---|---|---|
-P |
表示指定读取的配置文件。 |
./workloads/workloada |
-p mongodb.url |
表示指定 Mongos 连接地址。 |
- |
authSource |
表示指定用户认证库。若未开启用户认证,可忽略。 |
admin |
-p mongodb.upsert |
表示指定操作类型。
|
true |
-threads |
表示指定并发线程数。 |
100 |
-p mongodb.writeConcern |
表示指定写入策略。
|
unacknowledged |