hyperledger/caliper-benchmarks

Besu benchmarks do not work

davidkel opened this issue · 1 comments

To address this

  1. delete networks/besu/1node-clique/caliper-besu-clique.Dockerfile
  2. replace networks/besu/1node-clique/docker-compose.yml with
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

version: "3"
services:
  node:
    image: hyperledger/besu:21.10.1
    container_name: besu_clique
    volumes:
      - ./keys:/root/.ethereum/keystore
      - ./data:/root
    ports:
      - 8545-8547:8545-8547
    entrypoint:
    - /opt/besu/bin/besu
    - --genesis-file=/root/genesis.json
    - --node-private-key-file=/root/.ethereum/keystore/key
    command:
    - --min-gas-price=0
    - --revert-reason-enabled
    - --rpc-ws-enabled
    - --rpc-ws-host=0.0.0.0
    - --host-allowlist=*
    - --rpc-ws-apis=ADMIN,ETH,MINER,WEB3,NET,PRIV,EEA
    - --graphql-http-enabled
    - --discovery-enabled=false

Also need to document that you have to run the benchmark in a specific order as follows

npx caliper launch manager --caliper-workspace ./ --caliper-networkconfig ./networks/besu/1node-clique/networkconfig.json --caliper-benchconfig ./benchmarks/scenario/simple/config.yaml --caliper-flow-only-start

to bring up the besu container

To benchmark the simple scenario

npx caliper launch manager --caliper-workspace ./ --caliper-networkconfig ./networks/besu/1node-clique/networkconfig.json --caliper-benchconfig ./benchmarks/scenario/simple/config.yaml --caliper-flow-skip-start --caliper-flow-skip-end

to bring down the besu container

px caliper launch manager --caliper-workspace ./ --caliper-networkconfig ./networks/besu/1node-clique/networkconfig.json --caliper-benchconfig ./benchmarks/scenario/simple/config.yaml --caliper-flow-only-end

You can't try to merge all of these into a single command (ie provide no flow control) otherwise you get the same problem as the ethereum benchmarks

2022.02.18-15:59:29.633 error [caliper] [caliper-engine]        Error while performing "install" step: Error: connection not open on send()

@aklenik I think this is the issue you are trying to fix ?