利用YCSB工具对mongodb进行压测

来源:互联网 发布:mac high sierra好吗 编辑:程序博客网 时间:2024/04/28 01:27

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,读写场景为纯读,每个记录为2k250bytes*8列),并发数量为100write concernacknowledged

第一步是启动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

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



查看run的结果


0 0
原创粉丝点击