确定mapkeeper使用的leverdb库路径
2017-10-05 08:48
120 查看
目前libleveldb的a或so库有三个路径,/usr/lib, /usr/lib/x86_64-linux-gnu , /usr/local/lib
使用
列出他们的全路径。
(1)/usr/lib/x86_64-linux-gnu/libleveldb.a会起作用,注意重新编译时清空缓存已保证结果正确。编译出的
(2)/usr/lib/x86_64-linux-gnu/xxxlibleveldb.so不起作用
(3)/usr/local/lib/libleveldb.a会起作用,编译出的mapkeeper_leveldb大小为945KB。
leveldb1.8编译出的a库大小为797K, leveldb2.0编译出的a库为815K
*********注意***********, 如果mapkeeper服务端leveldb提示status: IO error: lock data/usertable/LOCK: already held by process,则操作是不成功的,即使ycsb这端显示成功。实际上leveldb数据库里没有任何变动。发现这一点是因为发现leveldb库的put函数没有被调用。
正常情况下,leveldb插入函数被调用的顺序是
dbimpl.cc, DBImpl::Put,begin
dbimpl.cc, DB::Put, begin
dbimpl.cc, DBImpl::Write begin
dbimpl.cc, MakeRoomForWrite, begin
经过打印发现,在mapkeeper下,options_.write_buffer_size=1073741824, 而在db_bench下,options_.write_buffer_size=4194304
而mapkeeper这个设置是在LevelDbServer.cpp里面的,options.write_buffer_size = writeBufferSizeMb_ * 1024 * 1024;
cache size, kNoCompression等也是在这里设置的。
经过设置与db_bench一样的配置,ycsb单线程结果
[OVERALL], RunTime(ms), 544708.0 相比db_bench是200多秒,差了一倍多
[OVERALL], Throughput(ops/sec), 18358.45994551209
ycsb 8线程结果
[OVERALL], RunTime(ms), 458383.0
[OVERALL], Throughput(ops/sec), 21815.817776837273
16线程
[OVERALL], RunTime(ms), 433804.0
[OVERALL], Throughput(ops/sec), 23051.88518317028
使用
ls -d -1 /usr/lib/* /usr/lib/x86_64-linux-gnu/* /usr/local/lib/* |grep leveldb
列出他们的全路径。
(1)/usr/lib/x86_64-linux-gnu/libleveldb.a会起作用,注意重新编译时清空缓存已保证结果正确。编译出的
(2)/usr/lib/x86_64-linux-gnu/xxxlibleveldb.so不起作用
(3)/usr/local/lib/libleveldb.a会起作用,编译出的mapkeeper_leveldb大小为945KB。
leveldb1.8编译出的a库大小为797K, leveldb2.0编译出的a库为815K
*********注意***********, 如果mapkeeper服务端leveldb提示status: IO error: lock data/usertable/LOCK: already held by process,则操作是不成功的,即使ycsb这端显示成功。实际上leveldb数据库里没有任何变动。发现这一点是因为发现leveldb库的put函数没有被调用。
正常情况下,leveldb插入函数被调用的顺序是
dbimpl.cc, DBImpl::Put,begin
dbimpl.cc, DB::Put, begin
dbimpl.cc, DBImpl::Write begin
dbimpl.cc, MakeRoomForWrite, begin
经过打印发现,在mapkeeper下,options_.write_buffer_size=1073741824, 而在db_bench下,options_.write_buffer_size=4194304
而mapkeeper这个设置是在LevelDbServer.cpp里面的,options.write_buffer_size = writeBufferSizeMb_ * 1024 * 1024;
cache size, kNoCompression等也是在这里设置的。
经过设置与db_bench一样的配置,ycsb单线程结果
[OVERALL], RunTime(ms), 544708.0 相比db_bench是200多秒,差了一倍多
[OVERALL], Throughput(ops/sec), 18358.45994551209
ycsb 8线程结果
[OVERALL], RunTime(ms), 458383.0
[OVERALL], Throughput(ops/sec), 21815.817776837273
16线程
[OVERALL], RunTime(ms), 433804.0
[OVERALL], Throughput(ops/sec), 23051.88518317028
相关文章推荐
- 打开Word2003时出现“无法访问您试图使用功能所在的网络位置”请按确定重试,或在下面框中输入包含安装程序包genko.msi的文件夹的路径.
- union-find算法——使用路径压缩的加权quick-union算法实现
- 转://Linux Multipath多路径配置与使用案例
- 关于URL路径的基本使用
- jenkins 使用user/.jenkins/workplace作为默认执行路径的解决办法
- Oracle RAC 搭建——使用多路径(Multipath)
- 配置错误:不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(
- 使用websocket实现手机扫描PC端二维码,移动端canvas手绘签名确定后将图片同步到PC端 扫码及时更新图片
- jsp路径使用
- 如何让SiteMapPath使用指定路径指定名称的sitemap文件。
- 使用spring提供的URL多级路径匹配器
- 查找XXXX.class的真实使用路径 (应对那种找不到正确依赖class的问题)
- 如何确定正在运行脚本的文件夹的路径?
- arcgis for flex api version3.7 教程:7.使用Directions查询路线(最短路径分析)
- 如何使用MQ标头动态确定数据处理程序的行为?
- SVG Path路径使用(一)
- 使用ServletContext获取资源路径
- 批处理中使用系统路径的命令
- 确定应用程序的 路径
- Unreal Engine 4 —— 使用反汇编来确定该进行优化的地方