Caliper是一个区块链性能基准框架,允许用户使用预定义的用例测试不同的区块链解决方案,并获得一组性能测试结果。
当前支持的区块链解决方案:
- Hyperledger Burrow
- Hyperledger Composer
- Ethereum
- Hyperledger Fabric
- FISCO BCOS
- Hyperledger Iroha
- Hyperledger Sawtooth
本次我们用caliper0.2.0来测试Hyperledger Fabric1.4.1网络。
首先你要下载
- docker
- docker-compose
- nodejs
- npx
- go
npx的安装:
npm install -g npx
其他的安装过程可以看我另一篇博客链接
开始:
1.配好环境后,下载caliper-benchmarks-0.2.0.zip
解压到这里
1.进入caliper-benchmarks文件夹
ljm@ljm-VirtualBox:~$ su root
密码:
root@ljm-VirtualBox:/home/ljm# cd caliper-benchmarks
root@ljm-VirtualBox:/home/ljm/caliper-benchmarks#
2.初始化项目
root@ljm-VirtualBox:/home/ljm/caliper-benchmarks# npm init -y
root@ljm-VirtualBox:/home/ljm/caliper-benchmarks# npm install --only=prod @hyperledger/caliper-cli@0.2.0
由于Caliper所有依赖项的安装较为耗时,因此使用–only=prod选项用于指定NPM只安装Caliper的核心组件,而不安装其他的依赖项(如各个区块链平台针对Caliper的适配器)。在部署完成后,可以通过caliper-cli显式绑定需要测试的区块链平台及相应的适配器。
3.验证caliper-cli安装成功
root@ljm-VirtualBox:/home/ljm/caliper-benchmarks# npx caliper --version
若安装成功,则会打印相应的版本信息,如:
root@ljm-VirtualBox:/home/ljm/caliper-benchmarks# npx caliper --version
v0.2.0
4.绑定
由于Caliper采用了轻量级的部署方式,因此需要显式的绑定步骤指定要测试的平台及适配器版本,caliper-cli会自动进行相应依赖项的安装。
root@ljm-VirtualBox:/home/ljm/caliper-benchmarks#npx caliper bind --caliper-bind-sut fabric --caliper-bind-sdk 1.4.1
5.网络测试
root@ljm-VirtualBox:/home/ljm/caliper-benchmarks#npx caliper benchmark run --caliper-workspace . --caliper-benchconfig benchmarks/scenario/simple/config.yaml --caliper-networkconfig networks/fabric/fabric-v1.4.1/2org1peergoleveldb/fabric-go.yaml
看好配置文件的路径。
SUT /平台名称:指定目标平台的名称,例如fabric
SDK版本:指定要为SUT安装的SDK版本,例如,1.4.1
工作目录:npm install必须从中执行命令的目录。默认为当前工作目录
用户参数:传递给的其他参数npm install,例如,–save
6.测试好以后会生成一个report.html,就可以查看区块链网络的性能了。