Blacksmith test
最近使用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的更多相关文章
- Unity3D The Blacksmith Demo部分内容学习
1.Plane Reflection 平面反射 在角色包的例子里可以看到,该脚本使用一个特定的相机渲染反射内容 官方介绍说这是优于反射探头的一种做法 2.HairRenderer 毛发渲染器 单独写的 ...
- The Blacksmith学习的相关资源
1.Unity官网的Blacksmith主页 https://unity3d.com/pages/the-blacksmith 2.WRINKLE MAPS IN THE BLACKSMITH 褶皱贴 ...
- [官方教程] Unity 5 BLACKSMITH深度分享 - 汇总帖
BLACKSMITH深度分享系列 相信此大片在Unite上的惊艳亮相,让许多人至今无法忘却它所带来的震撼,Unity的大师们为了让更多Unity开发者了解此大片是如何用Unity5诞生的,深度分享了多 ...
- 《The Elder Scrolls V: Skyrim》百般冷门却强力职业
<The Elder Scrolls V: Skyrim>百般冷门却强力职业 1.有如成龙平常的杂耍型战斗窃贼 每次看帖都察觉大伙一贯在强调窃贼不需要防御,窃贼不需要血,窃贼就是一击致命, ...
- Unity3D心得分享
本篇文章的内容以各种tips为主,不间断更新 系列文章 =========================== "Unity测试系列"文章索引 Unity-Animator深入系列 ...
- Unity AngryBots愤怒的机器人demo研究
做为Unity早期的经典demo,一直从3.5以后沿用到4.7.x版本.但其内部一些做法十分不合理.比如使用过多的根目录, 创建怪物和玩家不用SpawnPoint.AI.CheckPoint的代码实现 ...
- 写个自己的Xcode4插件
推荐:http://onevcat.com/2013/02/xcode-plugin/ 刚写iOS程序的时候就知道Xcode支持第三方插件,比如ColorSense等很实用的插件,但Xcode的插 ...
- python瓦登尔湖词频统计
#瓦登尔湖词频统计: import string path = 'D:/python3/Walden.txt' with open(path,'r',encoding= 'utf-8') as tex ...
- 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 ...
随机推荐
- Maven的使用--Eclipse在线安装Maven插件m2e
我使用的Eclipse版本是3.7(Indigo) 通过Eclipse的help选项,点击“Install New Software...”弹出安装对话框, 点击add按钮,在Location里输入h ...
- 使用fragment,Pad手机共用一套代码
项目代码结构: 1:MainActivity.java package com.example.fgtest; import android.app.Activity; import android. ...
- javascript加载优化
当加载js时,页面会一直在转,没有加载完. 如何优化这一点呢 js的加载方式介绍 同步加载---------------异步加载------------------延迟加载 异步加载仍然会触发wind ...
- LeetCode_Longest Common Prefix
Write a function to find the longest common prefix string amongst an array of strings. class Solutio ...
- spring springMVC mybatis 集成
最近闲来无事,整理了一下spring springMVC mybatis 集成,关于这个话题在园子里已经有很多人写过了,我主要是想提供一个完整的demo,涵盖crud,事物控制等. 整个demo分三个 ...
- Linux下的摄影后期处理软件
由于喜欢摄影,在LInux上折腾,想找一款能代替lightroom的软件.发现darktable这款软件专业.于是就安装了. 以下是在Linux上安装darktable的instruction,需要添 ...
- linux系统下,11款常见远程桌面控制软件
linux系统下,11款常见远程桌面控制软件 一. Grdc 它是一个用GTK+编写的,适用于gnome桌面环境的远程桌面访问软件.看图: 常见功能: 1.提供全屏,窗口化的远程控制.支持高分辨率下的 ...
- [Android4.4.3] Nubia Z5S Mokee4.4.3 RC2.0 by syhost
这个ROM先前在Mokee官网公布过,但一些人測试bug不少,因此已经撤下, 但又有人反馈跟之前RC1.0版的bug差点儿相同, 所以再次在网盘单独公布, 截图以及注意事项见之前的RC1.0的帖子, ...
- Lazy方式单列模式,一种线程安全模式的新选择
public class WeProxyClient { private static readonly Lazy<WeProxyClient> list = new ...
- android 数据存储之SharePreference 的几种方式
1. 常见的 getSharedPreferences(String filename,mode) 指定sp文件的名称,生成的文件名为 filename.xml 2.getPreferences(mo ...