YCSB-mapkeer-leveldb实测
使用thrift0.8.0编译好java版的mapkeeper并安装到ycsb下,使用thrift0.9.2编译好c++版的mapkeeper并编译leveldb客户端运行。
测试成功。recordcount设置为10m,发现leveldb开始会不断往log里写,log已经达到了1GB多。然后突然有很多2MB的sst文件生成。
最终ycsb完成了,iostat还有io (持续较长时间,几十MB/s或零点几MB/s)。data目录下有16GB,log文件600MB,
YCSB :
[OVERALL], RunTime(ms), 699722.0
[OVERALL], Throughput(ops/sec), 14291.390009175073
1. 在mapkeeper/leveldb下的server代码中做标注,发现ycsb的load请求都被这里的insert函数处理。
使用 -i参数运行,blindinsert是1,默认syncmode是0.
2. 默认key如 user4997031639252970821 ,默认value是1080字节。使用 -p "fieldlength=xx"可以设置value值,但实际的value值是80+10*xx. 即如果设置fieldlength为10,则value为180,如果设置为100,则为1080.
使用 -p "fieldlengthdistribution=uniform" 设置value的大小为变化的,还可以zipfan,但是注意这只影响xx,不影响80. 参考https://github.com/brianfrankcooper/YCSB/issues/587
将value设置为1经过打印发现value是这样的
value=field1 2 field0 : field7 , field6 0 field9 4 field8 7 field3 / field2 * field5 5 field4 8
所以说,默认有10个field,这10个field一起组成了value。这就是为什么最终的value值要乘以10了。
使用 -p fieldcount=1 来限定只要一个filed。
posted on 2017-10-04 14:03 longbigfish 阅读(599) 评论(0) 编辑 收藏 举报