Hyperledger Caliper Sample(caliper-benchmarks)

source: Installing and Running Caliper(https://hyperledger.github.io/caliper/vLatest/installing-caliper)

Notice

2020-03-04: Caliper v0.3.0 Released

Environment

  • Ubuntu 18.04 LTS

  • Hyperledger Caliper v0.3.0

Caliper 설치

git clone https://github.com/hyperledger/caliper.git

cd caliper

# Installs development-time dependencies, such as Lerna and the license checking package
npm install

# @hyperledger/caliper-cli NPM Package dependency 전역으로 설치
npm install -g --only=prod @hyperledger/caliper-cli

Caliper Sample(caliper-benchmarks) 설치 및 실행

v0.3.0부터는 launch command로 test를 실행한다. (v0.2.0까지는은 benchamark run command 사용)

Caliper Sample Test 절차 설명

  1. docker network "2org1peergoleveldb_default" 생성

  2. orderer, ca.org1, ca.org2, peer0.org1, peer0.org2 컨테이너생성

  3. client 및 보증 정책 설정

    • OrgMSP1: User, Admin

    • OrgMSP2: User

  4. 채널 "mychannel" 생성 후 채널에 peer 참여

  5. 각 peer에 시나리오 별 체인코드 설치: @marble, @drm, @simple, @smallbank

  6. 설치한 체인코드 인스턴스화, Simple 시나리오로 테스트 시작

    • 'open' test: 테스트 결과와 함께 docker resource 출력

    • 'query' test: 테스트 결과와 함께 docker resource 출력

    • 'transfer' test: 테스트 결과와 함께 docker resource 출력

  7. 3개 함수 호출 테스트 결과 출력

    • 성공/실패 트랜잭션 개수

      • 트랜잭션 개수는 config.yaml에서 설정 가능

    • Latency(Max/Min/Avg): 초 단위 지연 시간

    • Throughput(TPS)

  8. html 형식의 보고서 생성(위치: /caliper-benchmarks/report.html)

  9. 실행 중이던 컨테이너 중지 및 삭제

Caliper report(example)

Troubleshooting

Error: Table must define at least one row.(https://github.com/hyperledger/caliper/issues/670)

  • Solution: config.yaml 수정 후 다시 실행(path: caliper-benchmarks/benchmarks/scenario/simple/config.yaml)

    • (from) txNumber: 100

    • (to) txNumber:

      • 100

Error: Invalid endorsement for marbles@v0 in mychannel from peer0.org1.example.com

Reference

https://medium.com/@kotsbtechcdac/tool-to-measure-blockchain-performance-hyperledger-caliper-f192adfba52

Last updated