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等

同类工具 

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 [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

Hyperledger Caliper 安装使用分析_第1张图片

Query

Hyperledger Caliper 安装使用分析_第2张图片


结果汇总

Hyperledger Caliper 安装使用分析_第3张图片


报告

最后会生成一个html报告 下载

Hyperledger Caliper 安装使用分析_第4张图片


分析

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

转载于:https://www.cnblogs.com/llhl/p/9648615.html

你可能感兴趣的:(Hyperledger Caliper 安装使用分析)