Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Updated Roadmap

Abstract

The objective of this project is to perform a performance and benchmarking analysis of BESU, a Hyperledger project, in private networks (QBFT, IBFT, CLIQUE) using Hyperledger Caliper. This project aims to identify the strengths and weaknesses of BESU in terms of maximum transactions per second, latency, computation power, hard disk space, etc. Additionally, this project aims to add support for more complex and well-known workloads like ERC20, ERC721 in Caliper, which are used by general Ethereum users. This project will provide valuable insights into the performance of BESU and will help developers optimise it for better performance.

Mentor and Mentee

Mentors: Nischal Sharma and George Tebrean

Mentor's Email: nischal@web3labs.com, george@web3labs.com

Mentee: Suyash Nayan

Mentee's Email: suyashnyn1@gmail.com

Deliverables

The expected deliverables of this project are:

  •  A detailed report on the performance of BESU in private networks (QBFT, IBFT2, CLIQUE)
  •  A set of benchmarks for BESU in private network with different configurations
  •  Support for ERC20, ERC721, etc complex workloads in Hyperledger Caliper
  •  Finding and solving bottlenecks in Besu to improve performance
  •  Documentation on how to use the benchmarking tool and the new workloads
  •  Documentation of the benchmark results and improvements

Milestones

Evaluation 1

  •  Create custom workloads
  •  Review and test the custom workloads data

Evaluation 2

  •  Workloads integration into Caliper
  •  Run and Document Benchmarking Tests with different workloads

Evaluation 3

  •  Tweak and Tune Besu configs and parameters to get better performance
  •  Find bottlenecks in Besu and create issue tickets

Evaluation 4

  •  Suggest and Solve the issues in Besu Repo
  •  Document everything 
  •  Research document which contains the performance metrics comparison between the before and after data.

Timeline

Week #

Week

Activity

Status

1-2

June 14 - June 28

Onboard Suyash, Reading and getting familiar with Besu


3-4

June 29 - July 14

Testing of the default workloads with Caliper, Create custom Workloads


5-6

July 15 -Jun 30

1st Evaluation and Document work done

7-8

July 31 - Aug 14

Tweak config and Parameters and Run tests with custom workloads


9-10

Aug 15 - Aug 30

Tuning of Besu to get better performance


11-12

Aug 31 - Sept 14

2nd Evaluation. Find as many bottlenecks in Besu


13-14

Sept 15 - Sept 29

Find bottlecks and create issues in Besu repo


15-16

Sept 30 - Oct 12

3rd Evaluation. Have the implementations ready. Document the possible suggestions for improvement


17-18

Oct 13 - Oct 29

Start implementing solutions in Besu Repo and test


19-20

Oct 30 - Nov 11

Rerun Benchmarking test to check improvement in Besu


21-22Nov 12 - Nov 29

Research document which contains the performance metrics comparison between the before and after data.

Final Evaluation