最近使用Blacksmith 对各种K,V数据库做了一些测试,从中了解了一些各种数据库的设计方式,比较各种数据库的性能

BlaskSmith是我们自己的产品,详细的产品信息可以在github上看到 https://github.com/lawrencewu/blacksmith

测试的数据库包括 bigmap, sessdb(https://github.com/lawrencewu/sessdb), leveldb(https://github.com/dain/leveldb)

berkeleyDB(http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html)  java edition

mapdb http://www.mapdb.org

以下的内容讲述如何使用Blacksmith对各种k,v数据库做测试

准备工作

1. download the blacksmith from github, it's a maven project

the download address is https://github.com/lawrencewu/blacksmith

2. Install

$ unzip blacksmith.zip
$ cd blacksmith
$ mvn clean install
3. run the test
$ target/distribution/BlackSmith-1.0.0
$ bin/local.sh

4. run the high level test by trying

$ target/distribution/BlackSmith-1.0.0
$ bin/local.sh -c conf/local-benchmark-high-contention.xml

5. run the low level test by trying

$ target/distribution/BlackSmith-1.0.0
$ bin/local.sh -c conf/local-benchmark-low-contention.xml

6. after the above operation, we can get the report under the  reports folder.

i.e. the comparison between different databases.

How to add a plugin:

  The tool's only useful when you add another plugin to test other k,v databases. This senario shows how to add a plugin

  Step1:

    Add a folder under the plugins folder, named it whatever you like  e.g.  test

Step2:

Implements the  DBWrapper interface

Step3:

Replace the property file with your wrapper

step4:

config the project pom.xml file, add this plugin to the  module section, and copy files to the destination location

you can try different test schema by changing the params in the StressTest tag.

Params specification:

  1. numRequests

Total number of operation to be made against cache wrapper: reads + writes. Default is 50000.

2. numEntries

    Number of keys on which all the GETs and PUTs are performed. Default is 100.

Blacksmith test的更多相关文章

  1. Unity3D The Blacksmith Demo部分内容学习

    1.Plane Reflection 平面反射 在角色包的例子里可以看到,该脚本使用一个特定的相机渲染反射内容 官方介绍说这是优于反射探头的一种做法 2.HairRenderer 毛发渲染器 单独写的 ...

  2. The Blacksmith学习的相关资源

    1.Unity官网的Blacksmith主页 https://unity3d.com/pages/the-blacksmith 2.WRINKLE MAPS IN THE BLACKSMITH 褶皱贴 ...

  3. [官方教程] Unity 5 BLACKSMITH深度分享 - 汇总帖

    BLACKSMITH深度分享系列 相信此大片在Unite上的惊艳亮相,让许多人至今无法忘却它所带来的震撼,Unity的大师们为了让更多Unity开发者了解此大片是如何用Unity5诞生的,深度分享了多 ...

  4. 《The Elder Scrolls V: Skyrim》百般冷门却强力职业

    <The Elder Scrolls V: Skyrim>百般冷门却强力职业 1.有如成龙平常的杂耍型战斗窃贼 每次看帖都察觉大伙一贯在强调窃贼不需要防御,窃贼不需要血,窃贼就是一击致命, ...

  5. Unity3D心得分享

    本篇文章的内容以各种tips为主,不间断更新 系列文章 =========================== "Unity测试系列"文章索引 Unity-Animator深入系列 ...

  6. Unity AngryBots愤怒的机器人demo研究

    做为Unity早期的经典demo,一直从3.5以后沿用到4.7.x版本.但其内部一些做法十分不合理.比如使用过多的根目录, 创建怪物和玩家不用SpawnPoint.AI.CheckPoint的代码实现 ...

  7. 写个自己的Xcode4插件

    推荐:http://onevcat.com/2013/02/xcode-plugin/   刚写iOS程序的时候就知道Xcode支持第三方插件,比如ColorSense等很实用的插件,但Xcode的插 ...

  8. python瓦登尔湖词频统计

    #瓦登尔湖词频统计: import string path = 'D:/python3/Walden.txt' with open(path,'r',encoding= 'utf-8') as tex ...

  9. A Game of Thrones(7) -Arya

    Arya’s stitches were crooked again. She frowned down at them with dismay and glanced over to where h ...

随机推荐

  1. Java注释模板设置详解

    设置注释模板的入口: Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元 ...

  2. Scheme 编程环境的设置(racket/petite)-王垠

    Scheme 编程环境的设置 http://www.yinwang.org/blog-cn/2013/04/11/scheme-setup/ sudo apt-get insatll racket ; ...

  3. Linux系统编程(21)——信号的产生

    1.通过终端按键产生信号 通过上一篇我们知道了SIGINT的默认处理动作是终止进程,SIGQUIT的默认处理动作是终止进程并且Core Dump,现在我们来验证一下. 首先解释什么是Core Dump ...

  4. LeeCode-Happy Number

    Write an algorithm to determine if a number is "happy". A happy number is a number defined ...

  5. python爬虫系列之爬取多页gif图像

                   python爬取多页gif图像 作者:vpoet mail:vpoet_sir@163.com #coding:utf-8 import urllib import ur ...

  6. IEEE发布2016年度编程语言排行榜

    C 语言占据榜首,但大数据类是最大赢家. IEEE Spectrum 的第三次"最受欢迎编程语言"交互式排行榜新鲜出炉.因为不可能顾及到每一个程序员的想法,Spectrum 使用多 ...

  7. 了解Serialization

    对象的串行化(Serialization) 一.串行化的概念和目的 1.什么是串行化 对象的寿命通常随着生成该对象的程序的终止而终止.有时候,可能需要将对象的状态保存下来,在需要时再将对象恢复.我们把 ...

  8. UML图总结

    UML叙述 UML文档仅仅是设计与开发人员采用UML语言进行系统分析与设计的结果,并没有给出如何进行开发和采用何种开发流程,同样也不指导如何进行面向对象设计. UML文档描述了面向对象分析与设计的结果 ...

  9. STL 整理(map、set、vector、list、stack、queue、deque、priority_queue)(转)

    向量(vector) <vector> 连续存储的元素<vector> Vector<int>c; c.back()    传回最后一个数据,不检查这个数据是否存在 ...

  10. H5 视频直播相关技术

    一.移动视频直播发展 大家首先来看下面这张图: 可以看到,直播从 PC 到一直发展到移动端,越来越多的直播类 App 上线,同时移动直播进入了前所未有的爆发阶段,但是对于大多数移动直播来说,还是要以 ...