使用maven编译YCSB0.1.4对cassandra进行性能测试

时间:2022-12-13 19:38:58

Yahoo! Cloud Serving Benchmark (YCSB) 是 Yahoo 公司的一个用来对云服务进行基础测试的工具。目标是促进新一代云数据服务系统的性能比较。目前支持对:Cassandra,、HBase、mongodb、redis和简单的分片式MySQL执行测试,制订了一套核心基准测试和结果报告。详见https://github.com/brianfrankcooper/YCSB/wiki。


最近在学些该工具,计划对以上甚至更多数据库进行测试。当前Cassandra版本已经到了1.0之后版本,YCSB自带的版本仅仅支持0.7版本,好在源代码有支持1.0.6的客户端,需要重新进行编译。这侧测试版本为cassandra1.0.6。

具体操作步骤如下:

1.下载ycsb0.1.4源代码

下载地址为http://github.com/brianfrankcooper/YCSB/tarball/0.1.4

2.下载maven对代码进行编译。

在cassandra\src\main\java\com\yahoo\ycsb\db目录会看到有三个源代码,请删除其余两个版本,仅仅保留CassandraClient10.java文件

然后在运行mvn clean package。maven需要联网环境才可以编译,因为编译的时候会自动下载相关库,编译时间较长,请耐心等待。

3.替换系统自带的客户端

编译完毕后,在\cassandra\target目录找到cassandra-binding-0.1.4.jar文件,将其替换\ycsb-0.1.4\Cassandra-binding\lib中对应文件

4.连接Cassandra,创建名为usertable的keyspace,创建名为data的column family

5.在$PATH中加入cassandra程序文件的lib文件夹

6.载入测试数据

执行如下命令,架设cassandra的服务器为192.168.0.1

 

./bin/ycsb load cassandra-10 -P workloads/workloada  -p hosts=192.168.0.1 -p columnfamily=data -p recordcount=10000 -s > load.dat  

7.运行测试数据

 

执行下面命令

 

./bin/ycsb run cassandra-10 -P workloads/workloada  -p hosts=192.168.0.1 -p columnfamily=data -p recordcount=10000 -s > run.dat  


8.查看测试结果

 

vim run.dat


为了方便进行测试,附上编译后的lib文件http://pan.baidu.com/share/link?shareid=4158194224&uk=2567213251

和cassandra 1.0.6的下载地址http://pan.baidu.com/share/link?shareid=4176251864&uk=2567213251,如有疑问,欢迎留言。