利用YCSB工具对mongodb进行压测

利用YCSB工具对mongodb进行压测

2016年05月26日 19:45:59

阅读数:5203

1. 安装Java

去oracle官网下载jdk-7u15-linux-x64.rpm (直接yum安装的jdk版本貌似有问题)

rpm –ivh jdk-7u15-linux-x64.rpm

2. 安装 Maven

wgethttp://ftp.heanet.ie/mirrors/www.apache.org/dist/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz

sudo tar xzfapache-maven-*-bin.tar.gz -C /usr/local

cd /usr/local

sudo ln -s apache-maven-* maven

sudo vi /etc/profile.d/maven.sh

添加以下两行到maven.sh

export M2_HOME=/usr/local/maven

export PATH=${M2_HOME}/bin:${PATH}

reload,测试maven安装成功

bash

mvn -version

3. 安装YCSB

源码下载地址

https://github.com/brianfrankcooper/YCSB.git

如果要安装所有则

mvn clean package

如果只需要安装mongodb

mvn -pl com.yahoo.ycsb:mongodb-binding -am clean package 

4. 运行 YCSB

查看ycsb的运行参数说明

 

加载数据的模板详细参数说明

 

下面我们编辑一种情况来说明

场景说明:记录数为2000000,操作次数10000000,读写场景为纯读,每个记录为2k(250bytes*8列),并发数量为100,write concern为acknowledged

第一步是启动mongod,并建立测试库为ycsbtest,添加账户和密码均为ycsbtest

第二步是编辑wrokload

Vim  workloads/S1

recordcount=2000000

operationcount=10000000

workload=com.yahoo.ycsb.workloads.CoreWorkload

readproportion=1

updateproportion=0

insertproportion=0

fieldlength=250

fieldcount=8

mongodb.writeConcern=acknowledged

threadcount=100

第三步是load数据

./bin/ycsbload mongodb -s -P workloads/S1 -pmongodb.url=mongodb://ycsbtest:ycsbtest@10.9.79.68/ycsbtest>load_test.txt

查看load的结果

 

第四步是run进行压测

在配置文件里添加上maxexecutiontime=180表示压测180s

./bin/ycsbrun mongodb -s -P workloads/S1 -p mongodb.url=mongodb://ycsbtest:ycsbtest@10.9.79.68/ycsbtest>run_test.txt

压测时最好结合mongostat和iostat一起观察,验证mongostat和ycsb的结果基本保持一致,也好定位性能差的原因

 

查看run的结果

个人分类: NoSQL/MongoDB

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值