Giter VIP home page Giter VIP logo

ioarena's Introduction

ioarena - embedded storage benchmarking

ioarena is an utility designed for evaluating performance of embedded databases.

The goal of this project is to provide a standart and simple in use instrument for benchmarking, so any database developer or user can reference to or repeat obtained results.

Benchmarking methods: set, get, delete, iterate, batch, crud

Sync modes: sync, lazy, no-sync

WAL modes: indef (per engine default), wal-on, wal-off

Supported databases: rocksdb, leveldb, forestdb, upscaledb, lmdb, mdbx, wiredtiger, sophia, sqlite3, iowow, unqlite

New drivers or any kind of enhancements are very welcome!

Usage

IOARENA (embedded storage benchmarking)

usage: ioarena [hDBCpnkvmlrwic]
  -D <database_driver>
     choices: sophia, leveldb, rocksdb, wiredtiger, forestdb, lmdb, mdbx, sqlite3, iowow, dummy, unqlite
  -B <benchmarks>
     choices: set, get, delete, iterate, batch, crud
  -m <sync_mode>                     (default: lazy)
     choices: sync, lazy, nosync
  -l <wal_mode>                      (default: indef)
     choices: indef, walon, waloff
  -C <name-prefix> generate csv      (default: (null))
  -p <path> for temporaries          (default: ./_ioarena)
  -n <number_of_operations>          (default: 1000000)
  -k <key_size>                      (default: 16)
  -v <value_size>                    (default: 32)
  -c continuous completing mode      (default: no)
  -r <number_of_read_threads>        (default: 0)
     `zero` to use single main/common thread
  -w <number_of_crud/write_threads>  (default: 0)
     `zero` to use single main/common thread
  -i ignore key-not-found error      (default: no)
  -h                                 help

example:
   ioarena -m sync -D sophia -B crud -n 100000000

Build

git clone --recursive https://github.com/pmwkaa/ioarena

cmake is required for building.

To enable a specific database driver, pass -DENABLE_NAME=ON to cmake. If a specified database is not installed in system, it will be build from db/name directory.

mkdir build
cd build
cmake .. -DENABLE_ROCKSDB=ON
make
src/ioarena -h

Authors

Name Contribution
Dmitry Simonenko @pmwkaa Original author.
Leonid Yuriev @erthink Multithreading and isolation from the testcases the interface of a DB drivers cardinally redesigned, it is clear and intelligible now.
Egor Zyryanov @er0p Added support for SQLite, EJDB, Vedis.
Adamansky Anton @adamansky Added support for IOWOW.
Alberto Mardegan @mardy Added support for Upscaledb.

ioarena's People

Contributors

erthink avatar pmwkaa avatar adamansky avatar er0p avatar mardy avatar lucapalano avatar bohutang avatar snej avatar yangwanyuan avatar ragruslan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.