Hyperledger Caliper 安装使用分析

简介

一个账本性能基准测试框架允许用户预定义用例测试不同账本解决方案得到性能测试结果

这个基准框架的核心是一个能够翻译信息的“适配层”,Caliper能够安装智能合约,调用合约,并且查询各种分布式账本的状态,继而更好地评估其效力。

在可控环境内所支持的区块链上进行压力测试,并且生成相关结果,其中包括交易成功率、每秒交易次数、交易结算耗时、以及所有操作的资源消耗(比如CPU和内存)等

而且是大华为的。

目前支持区块链账本:

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

目前支持的性能指标:

  • 成功率,
  • 业务处理数,
  • 业务处理最大值、最小值、平均值、百分比,
  • 资源消耗情况 CPU  内存 网络 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
https://github.com/hyperledger/caliper.git
https://github.com/hyperledger/caliper.git

放在/opt/gopath/src/github.com/hyperledger/caliper,然后cd caliper,执行npm install 确保无错误提示


运行

node ./benchmark/simple/main.js -c ./config.json -n ./fabric.json
  • -c : 基准测试配置文件, 如果不设置,默认使用 config.json .
  • -n : 账本网络的配置文件. 如果不设置, 默认使用 config.json中设置的 blockchain config值.

OPEN

扫描二维码关注公众号,回复: 2032455 查看本文章


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

猜你喜欢

转载自blog.csdn.net/u013938484/article/details/80979810