zoukankan      html  css  js  c++  java
  • 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.

         

  • 相关阅读:
    改变多行文本字符串的缩进
    多线程
    python基本语法2.5--字符串的相关操作
    python基本语法2.4---汉诺塔的递归
    python基本语法2.3--函数及参数传递
    python基本语法2.2--函数名当作变量传递
    python基本语法2.1--if判断和while,for循环
    AlexNet源码
    python基本语法1.4--初识爬虫
    python基本语法1.5--调用numpy库的性能影响
  • 原文地址:https://www.cnblogs.com/ilawrence/p/3740623.html
Copyright © 2011-2022 走看看