区块链性能测试工具Caliper

Caliper介绍

Caliper是一个区块链性能基准测试框架,允许用户使用预定义的用例测试不同的区块链解决方案,并获得一组性能测试结果。

目前支持的区块链解决方案

  • Hyperledger Burrow
  • Hyperledger Composer
  • Hyperledger Fabric
  • Hyperledger Iroha
  • Hyperledger Sawtooth

目前支持的绩效指标

  • 成功率
  • 交易/读取吞吐量
  • 交易/读取延迟(最小值、最大值、平均值、百分位数)
  • 资源消耗(CPU、内存、网络IO...)

先决条件

确保安装了以下工具

  • NodeJS 8.X (>=8.10.0版本,<9.0.0版本)
  • node-gyp
  • Docker
  • Docker-compose

安装过程

1.NodeJS安装

nodejs要求必须是8.X版本,如果高于这个版本,请移除高版本下载8.X版本

版本下载地址:https://nodejs.org/dist/v8.10.0/

安装好之后查看版本

$ node -v
v8.10.0
$ npm -v
5.6.0

 

2.下载node-gyp

$ sudo npm install -g node-gyp

构建Caliper

Caliper被分为由lerna管理的packages,Lerna是一个用多个包管理JavaScript项目的工具。要构建Caliper,首先需要提取基本的依赖项,然后引导Caliper项目。请注意,如果修改项目代码,则需要rebuild项目

 1.下载caliper

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

 2.检查环境

cd caliper/packages/caliper-application/scripts
./pre-requisites-check-for-linux.sh

3.安装基本依赖项

cd caliper
npm install
npm run repoclean

4.引导安装

此步引导安装所有包依赖项并链接任何交叉依赖项,完成需要一段时间,如果被ctrl+c强行中断,请先恢复package.json然后重新npm run bootstrap。另外,请确保安装过程中网络正常不受限制,否则可能会因为某个依赖项下载失败导致整个过程失败。

npm run bootstrap

运行测试

所有预定义基准测试配置都可以在benchmark文件中找到,

要开始第一个基准测试,只需从文件夹中运行packages/caliper-application/scripts:

node run-benchmark.js -c benchmark-config -n blockchain-config

  • -c:指定基准的配置文件(必需)。
  • -n:指定被测区块链网络的配置文件(必需)。
  • 运行基准测试时,会出现“找不到模块”之类的错误。请npm rebuild从根文件夹运行。

 

配置文件

Caliper中有两种配置文件

  • benchmark配置文件
  • blockchain配置文件

benchmark配置定义基准测试的参数,如工作负载和监视设置,一般命名为config-xxx.yaml,并且位于simple/benchmark目录中;

blockchain配置文件名一般为xxx-yyy.json格式,其中xxx是blockchain类型(例如,fabric、sa wtooth、burrow或iroha),yyy是一些特定的部署信息,就像chaincodes的语言(例如,fabric-go.json用于fabric部署

你可能感兴趣的:(blockchain)