ycsb测试mongo笔记

本文介绍了YCSB(Yahoo! Cloud Serving Benchmark)这一分布式文件系统测试工具的特点、安装及使用方法。YCSB可用于任意设置读写比例、线程数量,并提供了详细的测试结果。它是hbase等NoSQL数据库官方推荐的测试标准。
ycsb是一个非常方便的针对分布式文件系统的测试工具: https://github.com/brianfrankcooper/YCSB  
特点: 
1 可以任意设置读写比例、线程数量,打印结果比较详细 
2 它是hbase等nosql官方jira上面的测试标准,与人交流时ycsb的测试数据最能说明问题 

缺点: 
1 每次测试时数据需要重新写入,否则读取时选取不了正确的key值,导致内存命中率低 
2 key值分布不均匀,节点多数据少时,会导致倾斜 

3 线程多时有bug 

安装

ubuntu9.10

mongo2.0.2

首先编译java文件

进入ycsb根目录

ant

我们使用的是mongo

ant dbcompile-mongodb

编译mongo环境

如果没有successfully build编译成功

运行命令

 java -cp build/ycsb.jar:db/mongodb/lib/* com.yahoo.ycsb.CommandLine -p hosts=localhost -db com.yahoo.ycsb.db.MongoDbClient

如果显示如下说明连接成功

YCSB Command Line client
Type "help" for command line help
Start with "-help" for usage info
new database url = localhost:10000/mydb
mongo connection created with localhost:10000/mydb
Connected.

插入数据

java -cp build/ycsb.jar:db/mongodb/lib/* com.yahoo.ycsb.Client -load -db com.yahoo.ycsb.db.MongoDbClient -P workloads/workloada -p columnfamily=f1 -p recordcount=1000000  -p timeseries.granularity=2000 > transactions.dat

transcations.dat可以查看结果

查看mongodbclient参数

java -cp build/ycsb.jar:db/mongodb/lib/* com.yahoo.ycsb.Client -p -hosts=locahost -load -db com.yahoo.ycsb.db.MongoDbClient -help

执行结果

java -cp build/ycsb.jar:db/mongodb/lib/* com.yahoo.ycsb.Client -t -db com.yahoo.ycsb.db.MongoDbClient -P workloads/workloada -p columnfamily=family -p operationcount=1000000 -s -threads 10 -target 100 -p measurementtype=timeseries -p timeseries.granularity=2000 > transactions.dat


### 使用YCSB Benchmark Tool测试Apache Doris性能 #### 准备工作 为了使用Yahoo! Cloud Serving Benchmark (YCSB) 对Apache Doris进行性能测试,需先完成环境搭建。这包括下载并安装YCSB工具以及设置好目标数据库即Doris的相关连接信息。 确保已按照说明获取到适合版本的YCSB包[^3]: ```bash wget 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 ``` 由于官方提供的预编译二进制文件可能不直接支持Doris作为其默认绑定之一,因此需要确认是否有社区贡献的支持Doris的binding存在;如果没有,则可能要基于现有代码库自行开发或修改以适应Doris接口需求。 #### 配置与加载数据 一旦拥有了兼容于Doris的工作负载描述符(workload descriptor),就可以通过指定适当参数来准备测试场景。例如,在命令行中定义记录数量(`recordcount`)、操作次数(`operationcount`)以及其他必要的选项如`workload`指向自定义配置文件路径等[^4]: ```properties recordcount=100000 operationcount=800000 workload=path/to/custom_workload_file ``` 接着执行加载(load phase)阶段向Doris实例注入初始数据集: ```bash ./bin/ycsb load doris -s -P path_to_properties_file ``` 这里假设已经创建了一个名为"doris"的新模块用于处理同Doris之间的交互逻辑,并且指定了属性文件的位置(-P 参数后面跟的是该文件所在位置)。 #### 运行压力测试 当所有前期准备工作完成后便可以启动实际的压力测试(run phase): ```bash ./bin/ycsb run doris -s -P path_to_properties_file > output.txt ``` 上述指令会依据之前设定好的条件模拟客户端请求并发访问Doris服务端口,同时将结果重定向保存至output.txt供后续分析之用。 #### 结果解析 最后一步是对收集来的统计数据加以解读,评估不同维度下的表现指标,比如吞吐量(throughput)、延迟(latency distribution)等,从而得出关于系统承载能力的具体结论。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值