您好,登录后才能下订单哦!
小编给大家分享一下如何使用Hyperledger Caliper对包含多个排序节点的Fabric网络进行基准测试,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
测试环境使用3台虚拟机,配置如下:
Google cloud VM instance (n1-standard-4)
4 vCPUs, 15 GB memory
Ubuntu 18.04.2 LTS
每台虚拟机需要提前安装以下软件:
Docker version 18.09.8, build 0dd43dd87f or above
docker-compose version 1.17.1 or above
Node.js v8.16.0
NPM 6.4.1
需要测试的Hyperledger Fabric网络中包含3个参与机构,共3个排序节点采用Raft共识算法, 每个机构提供1个排序节点和1个对等节点,对等节点使用GoLevelDB作为状态数据库。
首先参考官方文档在HOST1上安装Hyperledger Caliper。
然后在单机模式下运行基准测试以确认Hyperledger Caliper安装正确。
在所有参与Fabric网络的虚拟机上克隆Hyperledger Caliper软件仓库,或者创建HOST1的镜像。
在所有虚拟机上将本文提供的测试网络配置文件 克隆到本地以下目录:
~/caliper/packages/caliper-samples/network/fabric-v1.4.1/swarm-3org1peer-raft
现在,我们已经准备好了进行Hyperledger Caliper基准测试的Fabric网络环境。下图展示了本文 示例基准测试的架构(Fabric version 1.4.1, 3org1peergoleveldb, Fabric-CCP adaptor):
查看虚拟机的内部IP,确保虚拟机之间可以彼此通信。你可能需要配置防火墙规则以放行Caliper使用的某些端口,例如7050,7051,7054,8051,8054等。
我们使用Docker Swarm来管理容器。
首先在我们运行基准Caliper测试的虚拟机上创建一个Docker Swarm。如果你的所有主机在同一个网段,你也可以使用主机的内部IP。
$ docker swarm init --listen-addr HOST1-REACHABLE-PUBLIC-IP:2377
注意:在上面的命令中,需要将IP换成你自己的IP。
运行上述命令后应当可以看到如下输出显示:
# To add a worker to this swarm, run the following command: # docker swarm join --token xxxxxxxxxxxxx IP:2377
这意味着你的Host1已经作为管理者加入了Swarm。
将以下命令复制到其他主机并执行:
docker swarm join --token xxxxxxxxxxxxx IP:2377
上述命令执行后将输入如下内容,表示该主机已经加入Swarm集群:
# This node joined a swarm as a worker.
在所有需要运行Caliper基准测试的机器上运行上述命令以加入Swarm集群。
注意:所有参与Hyperledger Caliper基准测试的主机上,Caliper仓库的目录都应该和HOST1上的一致,因为系统需要在此路径定位密码学材料。例如:
#home/HOST1/caliper/packages/caliper-samples/network/fabric-v1.4.1/swarm-3org1peer-raft/ #home/HOST2/caliper/packages/caliper-samples/network/fabric-v1.4.1/swarm-3org1peer-raft/ #home/HOST3/caliper/packages/caliper-samples/network/fabric-v1.4.1/swarm-3org1peer-raft/
在HOST1上运行以下命令查看Swarm集群中的主机清单:
$ docker node ls
结果如下:
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS xxx * caliper-latest Ready Active Leader xxx caliper-latest2 Ready Active xxx caliper-latest3 Ready Active
在编辑器里打开 docker-swarm-compose-tls.yaml文件,该文件中Services下定义了Peer/Order/CA容器。在Service定义的末尾部分可以找到容器部署的细节:
deploy: placement: constraints: [node.hostname == YOUR-HOSTNAME]
将YOUR-HOSTNAME
修改为你希望该服务部署的目标主机名。
现在在HOST1的Caliper目录下运行如下命令启动基准测试:
$ caliper benchmark run -w ./packages/caliper-samples \ -c benchmark/simple/config.yaml \ -n network/fabric-v1.4.1/swarm-3org1peer-raft/fabric-ccp-go-tls.yaml
看完了这篇文章,相信你对“如何使用Hyperledger Caliper对包含多个排序节点的Fabric网络进行基准测试”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。