Code Monkey home page Code Monkey logo

sawtooth_pbft_v1.2-ipfs-benchmark's Introduction

Benchmark for Sawtooth (PBFT consensus)

Benchmark for Sawtooth with PBFT consensus, embedded into a docker-compose and python script.

Contains:

  • Sawtooth with PBFT consensus
  • stccpp (C++)
  • sender tool using stcpp
  • IPFS (module files etc)

Requires:

  • docker & docker-compose
  • python 3.7

Don't forget to pull submodules:

$ git submodule update --init --recursive

Build

Build to copy and set all the necessary files in the project.

./build.sh

Benchmark config

Configure benchmark inside of ./benchmark.py .

Each profile is a test and uses docker-compose.yaml & docker-compose-sender.yaml as a template to create docker-compose.yaml.benchmark & docker-compose-sender.yaml.benchmark.

For example:

test_profiles = [
    {  # basic test first
        "sawtooth_parameters": {
            "max_batches_per_block": "300",
            "block_publishing_delay": "1000",
            "idle_timeout": "30000",
            "forced_view_change_interval": "100",
            "view_change_duration": "5000",
            "commit_timeout": "5000"
        },
        "sender_parameters": {
            "limit": "10000",
            "js_nb_parallele": "3",
            "js_wait_time": "1"
        }
    },
    #{
    #...
    #}
}

The location of the validator data is by default on an separate HDD to avoid filling the main drive. Set dot env variable it before continuing:

In .env :

VALIDATORDATAPATH=/media/100GB/validator-data

Start benchmark

Please read the config section before starting the benchmark !

./benchmark.py

This will execute each profile of tests set in ./benchmark.py .

Note: At the end, benchmark.py finish by starting grafana and influxdb.

Reset benchmark

Stop all containers and delete all data.

./reset.py

sawtooth_pbft_v1.2-ipfs-benchmark's People

Contributors

lucgerrits avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.