Fabric2.3 使用Caliper进行性能测试(保姆级示范,亲测可行)

要对已经在Ubuntu20.04里搭建好的Fabric2.3.3使用Caliper进行性能测试,采集吞吐量和时延这两个性能指标。

1 安装Caliper

运行Caliper,要依托于Node,关于Node的下载安装,这里不做赘述。

首先caliper-benchmarks需要下载到指定文件路径位置。因为阅读了caliper-benchmarks的相关配置文件后,发现它yaml文件对test-network里的文件是采用相对路径定位的,需要将其下载到fabric-sample的上一级目录的位置才能正确执行。当然也可以随便下载到一个位置,然后修改caliper-benchmarks的配置内容,不妨事。如图,这是我下载它的位置

 然后执行:

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

然后打开caliper-benchmarks文件夹

cd caliper-benchmarks

以此执行以下命令,安装指定版本的hyperledger caliper

npm init -y
npm install --only=prod @hyperledger/[email protected]  # 0.4.2对应的是fabric2.x,0.3.2对应fabric1.x
npx caliper bind --caliper-bind-sut fabric:2.4  # 绑定,这里用的2.4,因为2.3无,2.2也可以

 绑定后,用下面这个命令可以查看所安装的caliper版本

npx caliper --version

2 部署链码

依次执行

cd ../fabric-samples/test-network  # 回到test-network文件夹
./network.sh down
./network.sh up createChannel

这里,我们将部署caliper自带的fabcar样例,以供展开测试

扫描二维码关注公众号,回复: 15494534 查看本文章
./network.sh deployCC -ccn fabcar -ccp ../../caliper-benchmarks/src/fabric/samples/fabcar/go -ccl go

3 进行测试

显示部署成功后,再回到caliper-benchmarks目录下

cd ../../caliper-benchmarks/

我们将执行与刚才部署的fabcar相匹配的测试用例

npx caliper launch manager \
--caliper-workspace ./ \
--caliper-networkconfig networks/fabric/test-network.yaml \
--caliper-benchconfig benchmarks/samples/fabric/fabcar/config.yaml \
--caliper-flow-only-test \
--caliper-fabric-gateway-enabled

 这就是已经开始进行性能测试了,测试结果如下图所示

 可以看到,我们的测试进行了四种,这个报表里的Succ就是成功的交易数量,Latency是延时,Throughput是吞吐量。并且,这个测试结果还会以html文件的形式保存在caliper-benchmarks文件夹下的report.html里。

4 其他

这篇Blog聚焦于能完整的呈现出使用Caliper对Fabric进行性能测试的操作流程。执行过程里,其实还是会遇到很多问题,比如go路径找不到,npm依赖下载不全,虚拟机服务器出问题等等,不一而足。建议查查资料,不要气馁。已经趟过,都能克服。

然后能见到这篇Blog的同学,应该也试过不少方案,并且也发现了,我是使用的这个

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

而不是

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

 对的。如果你是在caliper里,走到了node-gpy时出现要使用python2的问题,考虑到现在的linux发行版都是预装的pyhton3,以及其他不方便卸载python3的因素,同学你要是还想沿着老路走,我建议你使用anaconda,创建一个pyhton2的环境,然后进入python2环境里解决这个问题,然后挑战下一个坑。


如果需要继续深入,可以参考这篇新作

解读 Caliper 修改配置文件调整交易量进行性能测试(中文首发)

猜你喜欢

转载自blog.csdn.net/Sbs5218/article/details/126038751
今日推荐