ycsb-命令及参数-与生成的负载类型相关

load
bin/ycsb load mydb -P workloads/workloada -p "mydb.host=127.0.0.1" -p "mydb.port=1111" -p "recordcount=100" -p "operationcount=200" -p "insertorder=sorted"  -p "requestdistribution=zipfian"

run
bin/ycsb run mydb -P workloads/workloada -p "mydb.host=127.0.0.1" -p "mydb.port=1111" -p "recordcount=100" -p "operationcount=200"  -p "insertorder=sorted" -p  "requestdistribution=zipfian"

总结:
(1)-P workloads/workloada是必须的,但是其内容可以被 -p 参数覆盖。
recordcount在load时的条目。operationcount表明run时的条目。
insertorder表示load时的分布。requestdistribution表示run时的分布。

但是,与load相关的参数都会影响到run时的行为。
比如load时使用顺序插入,那么run时有顺序插入参数时就会考虑数据集是以此生成的。

 

(2)operationcount 与load 无关, "requestdistribution=zipfian" 与load无关,load始终使用 uniform 的形式生成负载

load时,如果-p "insertorder=sorted", 那么ycsb生成的模式为 userxxyy,其中xx即为顺序的数值,从0一直到recordcount-1, yy是一串数字,这串数字与xx有关,所有位数相同的xx其yy是一样的,最终组成的key具有相同的长度。

这样组成的key序列并不是真正有序的。甚至会生成重复的key。

比如key 1和key 18 分别是 user1863145027629296129  user1863145027629296129 但是很显然结果是相同的key。

 

"insertorder=sorted" 中 sorted 和ordered都表示顺序

 

  -threads 28 参数表示使用的线程数。

 

-----2017.5.20

报错 OSError: [Errno 2] No such file or directory

解决:网上说可能java没装,装了java后照样报此错误。提示里有好几行是 File "/usr/lib/python2.7/subprocess.py", line 1343, in _execute_child 之类的,有说将python升级到2.7.13的。查看本机python是2.7.12, 但是另一台可运行的机器python是2.7.6. 

然后突然发现运行mvn命令提示mvn没有装。

sudo apt-get install mvn 后解决。

 

-----2017.8.31

run时,每一次生成的key序列都不一样,即使其他参数都相同。这表明可以使用多个trace进行多线程测试。

转载于:https://www.cnblogs.com/bettersky/p/6121168.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值