最近使用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. C++之------运算符重载

    ①  什么是运算符重载? 何为C++的运算符重载呢? 其实就是运算符给它重新赋予新的含义或者多重含义.让它有另外一种新的功能. 为什么需要运算符重载? 面向对象中为了实现类的多态性,我们就引用了运算符 ...

  2. 就是爱Java

    就是爱Java,提供了Java代码示例,文章和教程,可以帮助你学习Java编程语言. 网站名称:就是爱Java 网站地址:http://java.openyu.org

  3. hdu 2489 Minimal Ratio Tree

    http://acm.hdu.edu.cn/showproblem.php?pid=2489 这道题就是n个点中选择m个点形成一个生成树使得生成树的ratio最小.暴力枚举+最小生成树. #inclu ...

  4. Swift是一个提供RESTful HTTP接口的对象存储系统

    Swift是一个提供RESTful HTTP接口的对象存储系统,最初起源于Rackspace的Cloud Files,目的是为了提供一个和AWS S3竞争的服务. Swift于2010年开源,是Ope ...

  5. 转:SVN Eclipse插件Subclipse安装和配置

    一.安装Subclipse subclipse项目地址:http://subclipse.tigris.org/. 安装Subclipse的最好方法是使用Eclipse Update Manager. ...

  6. mac安装GNU命令行工具

    mac安装GNU命令行工具 2.添加的repo     tap home/dupes        brew install coreutils  binutils  diffutils  ed -- ...

  7. Binary Tree Paths 解答

    Question Given a binary tree, return all root-to-leaf paths. For example, given the following binary ...

  8. ubuntu centos debina

    文章目录CentOSDebianCentOS与Debian哪个好?Ubuntu买VPS时有CentOS.Debian.Ubuntu三种操作系统可以选择,Linux下哪种系统更好是很多新人都会遇到的问题 ...

  9. structs2标签

    Struts2常用标签总结 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的 ...

  10. C的|、||、&、&&、异或、~、!运算(转)

    位运算     位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果. 位运算符有:     &(按位与).|(按位或) ...