Hyperledger Caliper 安裝使用分析

簡介

一個帳本性能基準測試框架容許用戶預約義用例測試不一樣帳本解決方案獲得性能測試結果

這個基準框架的核心是一個可以翻譯信息的「適配層」,Caliper可以安裝智能合約,調用合約,而且查詢各類分佈式帳本的狀態,繼而更好地評估其效力。
html

在可控環境內所支持的區塊鏈上進行壓力測試,而且生成相關結果,其中包括交易成功率、每秒交易次數、交易結算耗時、以及全部操做的資源消耗(好比CPU和內存)等
node

並且是大華爲的。git

目前支持區塊鏈帳本:

  1. fabric v1.0+,
  2. sawtooth 1.0+
  3. Iroha 1.0 beta-3

目前支持的性能指標:

  • 成功率
  • 延遲最大值、最小值、平均值、75%延遲時長,
  • 吞吐量
  • 資源消耗狀況 CPU(max和avg)  內存(max和avg) 網絡IO等

同類工具 

ooibc88/blockbench

安裝依賴(針對Fabric的)(括號中爲我當前的環境):

  • Node.js 8.X(node -v v8.11.2      npm -v   3.10.10 )
  • node-gyp
  • Docker(docker -v Docker version 18.03.0-ce, build 0520e24)
  • Docker-compose(docker-compose -v docker-compose version 1.16.1, build 6d1ac21)
  • npm install -g grpc@1.10.1
  • npm install fabric-ca-client@1.1.0 fabric-client@1.1.0  備註經過一下命令檢查肯定支持的版本
    npm ls | grep fabric

前期由於,fabric使用v1.1.0,但fabric-client使用了v1.2.0,形成鏈碼實例化失敗,提示github

Cannot read property 'getUpdates' of undefined


源碼

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


放在/opt/gopath/src/github.com/hyperledger/caliper,而後cd caliper,執行npm install 確保無錯誤提示(v*P*n)docker


運行

node ./benchmark/simple/main.js -c ./config.json -n ./fabric.json
  • -c : 基準測試配置文件, 若是不設置,默認使用 config.json .
  • -n : 帳本網絡的配置文件. 若是不設置, 默認使用 config.json中設置的 blockchain config值.

OPENnpm



Queryjson



結果彙總網絡



報告

最後會生成一個html報告 下載app



分析

根據Benchmark的config.json配置文件,測試主要包括open(開通帳戶,帳本的寫性能)和query(查詢帳戶,帳本的讀性能)兩個類型框架

open 的tps 分別設置50、100、150 ,在1000次交易結果顯示100時吞吐量相對最高。

query的tps分別設置100、200,在5000次交易結果100時吞吐量相對最高。

另外發現open開通帳戶時oderer節點cpu處於使用中,query查詢帳戶時oderer節點cpu接近0,和fabric交易過程吻合。


自定義性能測試

初步須要修改一下幾個地方:首先是config.json、fabric.json和crypto-config,鏈碼等


問題倉庫


https://github.com/hyperledger/caliper/issues

相關文章
相關標籤/搜索