Blockbench provides micro-benchmark workloads designed to stress specific layers of a blockchain system (Consensus, Data Model, and Execution) to evaluate individual performance.
Consensus layer: DoNothing
The DoNothing workload is used to stress the consensus layer and is integrated into the ycsbc-based driver located in blockbench/src/macro/kvstore. You can execute this workload using the ./driver command by specifying the -wl donothing flag.
Data model layer: IOHeavy & Analytics
Detailed descriptions for these workloads can be found in their respective directories:
ioheavy/README.mdanalytic/README.md
Execution layer: CPUHeavy
Detailed description for the CPUHeavy workload can be found in:
# Hyperledger
./driver -db hyperledger -threads 1 -P workloads/workloada.spec -txrate 5 -endpoint localhost:7050/chaincode -wl donothing
# Ethereum
./driver -db ethereum -threads 1 -P workloads/workloada.spec -txrate 5 -endpoint localhost:8545 -wl donothing -wt 20
# Parity
./driver -db parity -threads 1 -P workloads/workloada.spec -txrate 5 -endpoint localhost:8545 -wl donothing -wt 20