A blockchain system comprises multiple layers, and each layer may have different impact on the overall performance. We provide several workloads to stress the layers in order to understand their individual performance.
-
Consensus layer - DoNothing This workload is integrated in the ycsbc-based driver in
blockbench/src/macro/kvstore
directory.To use this workload,
# Hyperledger ./driver -db hyperledger -threads 1 -P workloads/workloada.spec -txrate 5 -endpoint localhost:7050/chaincode -wl donothing # Ehtereum ./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
-
Data model layer - IOHeavy & Analytics
-
Execution layer - CPUHeavy
CPUHeavy workload description.
- Use
npm install
to install the dependency libraries - For all ethereum experiments, use start_ethereum.sh to start geth client first.