1. 程式人生 > >Hyperledger Caliper 安裝使用分析

Hyperledger Caliper 安裝使用分析

簡介

一個賬本效能基準測試框架允許使用者預定義用例測試不同賬本解決方案得到效能測試結果

這個基準框架的核心是一個能夠翻譯資訊的“適配層”,Caliper能夠安裝智慧合約,呼叫合約,並且查詢各種分散式賬本的狀態,繼而更好地評估其效力。

在可控環境內所支援的區塊鏈上進行壓力測試,並且生成相關結果,其中包括交易成功率、每秒交易次數、交易結算耗時、以及所有操作的資源消耗(比如CPU和記憶體)等

而且是大華為的。

目前支援區塊鏈賬本:

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

目前支援的效能指標:

  • 成功率
  • 延遲最大值、最小值、平均值、75%延遲時長,
  • 吞吐量
  • 資源消耗情況 CPU(max和avg)  記憶體(max和avg) 網路IO等

同類工具 

安裝依賴(針對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 [email protected]
  • npm install [email protected] [email protected]
      備註通過一下命令檢查確定支援的版本
    npm ls | grep fabric

前期因為,fabric使用v1.1.0,但fabric-client使用了v1.2.0,造成鏈碼例項化失敗,提示

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)

執行

node ./benchmark/simple/main.js -c ./config.json -n ./fabric.json
  • -c : 基準測試配置檔案, 如果不設定,預設使用 config.json .
  • -n : 賬本網路的配置檔案. 如果不設定, 預設使用config.json中設定的 blockchain config值.

OPEN



Query


結果彙總


報告

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


分析

根據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