YCSB安装
1.安装jdk---配置环境变量
2.安装maven(版本maven3以上)---配置环境变量
3.安装YCSB
先安装pip
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
python get-pip.py
wget https://github.com/brianfrankcooper/YCSB/
解压当前文件
unzip YSCB.zip
cd YSCB
YCSB源代码编译有两种方式
方式一:全部编译命令: mvn clean package
说明:编译全部数据库,要下载很多依赖包,时间要很久,不建议采用。
方式二:只编译一个数据库,
如编译mongodb的命令为:mvn -pl com.yahoo.ycsb:mongodb-binding -am clean package
创建自己的workload文件workload-youren-testW
./bin/ycsb load mongodb-async -s -threads 1 -P workloads/workload-youren-testW > outputLoad.txt
./bin/ycsb run mongodb-async -s -threads 1 -P workloads/workload-youren-testW > outputRun.txt
==================写---插入数据=================
写--插入数据
测试条件(配置文件配置)
recordcount=300000
operationcount=300000
workload=com.yahoo.ycsb.workloads.CoreWorkload
readallfields=false
readproportion=0
updateproportion=0
scanproportion=0
insertproportion=1
requestdistribution=zipfian
mongodb.url=mongodb://172.16.1.21:27060
mongodb.database=ycsb
mongodb.writeConcern=normal
写数据量30w
线程数:1
吞吐量:1271 (3次平均值)
95%写入时间(单位:毫秒): 0.95
99%写入时间(单位:毫秒):1.7
线程数: 5
吞吐量:4059(3次平均值)
95%写入时间(单位:毫秒):1.6
99%写入时间(单位:毫秒):3.2
线程数:10
吞吐量:6071(3次平均值)
95%写入时间(单位:毫秒):3
99%写入时间(单位:毫秒):7
线程数: 100
吞吐量:5700(3次平均值)
95%写入时间(单位:毫秒):32
99%写入时间(单位:毫秒):64
==================读查询数据=================
recordcount=300000
operationcount=300000
workload=com.yahoo.ycsb.workloads.CoreWorkload
readallfields=false
readproportion=1
updateproportion=0
scanproportion=0
insertproportion=0
requestdistribution=zipfian
mongodb.url=mongodb://172.16.1.21:27060
mongodb.database=ycsb
mongodb.writeConcern=normal
读数据量30w
线程数: 1
吞吐量:1572(3次平均值)
95%读取时间(单位:毫秒):0.78
99%读取时间(单位:毫秒):1.38
线程数: 5
吞吐量:5395(3次平均值)
95%读取时间(单位:毫秒):1.55
99%读取时间(单位:毫秒):2.67
线程数: 10
吞吐量:6278(3次平均值)
95%读取时间(单位:毫秒):3.52
99%读取时间(单位:毫秒):6.02
线程数: 100
吞吐量:5072(3次平均值)
95%读取时间(单位:毫秒):36
99%读取时间(单位:毫秒):55
====================加载文件注释======================
//配置文件相关注释
mongodb.url=mongodb://localhost:27017 # 待测试mongo实例的数据库地址
mongodb.database=ycsb# 测试时使用的数据库名称
mongodb.writeConcern=normal # 写入安全性为常规
recordcount=10000 # 测试数据集的记录条数
operationcount=10000 # 测试过程中执行的操作总数
workload=com.yahoo.ycsb.workloads.CoreWorkload# workload实现类
readallfields=true # 查询时是否读取记录的所有字段
readproportion=0.5 # 读操作的百分比
updateproportion=0.5 # 更新操作的百分比
scanproportion=0 # 扫描操作的百分比
insertproportion=0 # 插入操作的百分比
requestdistribution=zipfian# 请求分布模式,包括:Uniform(等概率随机选择记录)、Zipfian(随机选择记录,存在热纪录)和Latest(近期写入的记录是热记录)
网友评论