BlockBench is the first benchmarking framework for private blockchain systems. It serves as a fair means of comparison for different platforms and enables deeper understanding of different system design choices.
- YCSB (KVStore).
- SmallBank (OLTP).
- DoNothing (consensus layer).
- IOHeavy (data model layer, read/write oriented).
- Analytics (data model layer, analytical query oriented).
- CPUHeavy (execution layer).
Source file structure
- Smart contract sources are in benchmark/contracts directory.
- Instructions and scripts to run benchmarks for Ethereum, Hyperledger , Parity and Quorum are in ethereum, hyperledger , parity , quorum_raft and quorum_vote directories respectively.
- Drivers for benchmark workloads are in src directory.
Note: we patched this library to include the "Expect: " header in POST requests, which considerably improves the speed for processing RPC request at Parity.
The patch file is include in benchmark/parity folder.
To patch: go to top-level directory of restclient-cpp, then:
patch -p4 < $BLOCK_BENCH_HOME/benchmark/parity/patch_restclient
The installation can then proceed as normal.
Go to micro directory and use
npm install to install the dependency libraries