Hyperledger Besu Performance with Caliper
Suyash Nayan
Github: github.com/7suyash7
LinkedIn: Suyash Nayan
PRs in Hyperledger Besu: https://github.com/hyperledger/besu/pulls?q=is%3Apr+author%3A7suyash7+is%3Aclosed
PRs in Hyperledger Caliper:
https://github.com/hyperledger/caliper-benchmarks/pull/252
https://github.com/hyperledger/caliper/pull/1506
Learnings and Notes
Blog Post:
Notes
Command to run gas-free IBFT Network
//node 1 |
Make sure to replace the Enode URL.
Command to run QBFT gas-free network:
// node 1 |
To quickly clear the network data:
rm -rf Node-1/data/DATABASE_METADATA.json && rm -rf Node-1/data/caches/ && rm -rf Node-1/data/database/ |
Command to run Caliper:
npx caliper bind --caliper-bind-sut besu:latest npx caliper launch manager \ |
Setting up a Gas Free Network (Recommended Settings):
“To avoid the limitation of gas consumption in smart contract deployment and transaction execution, we configured all Besu blockchain networks to be gas-free by setting “gasLimit” to the maximum “0x1fffffffffffff”, “contractSizeLimit” to the maximum 2147483647, and the node startup option “min-gas-price” to 0. Also, we set the difficulty to the minimum “0x1” and the transaction pool queue size to the default 4096.”
Running Async Profiler for more information about Besu:
#!/bin/bash |
Setting up Prometheus and Grafana to monitor Besu:
Docs: https://besu.hyperledger.org/23.4.0/public-networks/how-to/monitor/metrics
Grafana: https://grafana.com/grafana/dashboards/16455-besu-full/
Node-Exporter: https://grafana.com/grafana/dashboards/1860-node-exporter-full/
Mentor(s) Names and Contact Info
George Tebrean (Web3 Labs)
email: george@web3labs.com / tebreangeorge@gmail.com
Discord: gdev
Nischal Sharma (Web3 Labs)
email: nischal@web3labs.com
Discord: nicks1106