您的当前位置:首页正文

YCSB安装及压力测试数据

来源:华佗小知识

YCSB安装

1.安装jdk---配置环境变量

2.安装maven(版本maven3以上)---配置环境变量

3.安装YCSB

先安装pip

    python get-pip.py

  解压当前文件

  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(近期写入的记录是热记录)