测试工具
本次测试使用开源工具 YCSB 进行 MongoDB 性能测试。
YCSB 全称 “Yahoo!Cloud Serving Benchmark”,是一款用于云服务基础测试的开源工具,适用于常见的 NoSQL 数据库产品的性能测试,例如 Cassandra、MongoDB、HBase、Redis 等。
YCSB 支持配置不同的 Workload 和数据库,并支持指定线程数和并发数等其他参数。
下载和安装工具
-
下载 YCSB 最新源码包。
curl -O --location https://github.com/brianfrankcooper/YCSB/releases/download/0.17.0/ycsb-0.17.0.tar.gz
-
解压客户端压缩包。
tar xfvz ycsb-0.17.0.tar.gz
-
进入工作目录。
cd ycsb-0.17.0
主要文件说明
YCSB 安装成功后,生成主要文件如下:
-
ycsb
文件ycsb
文件是 bin 目录下的一个可执行的文件,用于用户操作的命令行接口。ycsb
文件主逻辑是:解析命令行、设置 java 环境,加载 java-libs,封装成可以执行的 java 命令。 -
workload_template
参数模板workload_template
参数模板在 workloads 目录下,可根据模板进行自定义参数。详细参数说明,请参见参数模版。
参数模版说明
参数 | 说明 |
---|---|
recordcount |
表示 YCSB load 阶段加载的记录数。 |
operationcount |
表示 YCSB run 阶段执行的操作数。 |
workload |
表示 workload 实现类。 |
readallfields |
表示查询时,是否读取记录的所有字段。 |
readproportion |
表示读操作的百分比。 |
updateproportion |
表示更新操作的百分比。 |
scanproportion |
表示插入操作的百分比。 |
requestdistribution |
表示请求分布模式,包括 |
mongodb.url |
表示 MongoDB 的连接地址。 |
mongodb.database |
表示 MongoDB 的数据库名称。 |