Hyperledger Caliper测试Hyperledger Fabric1.4.1性能实战操作

1.安装docker、docker-compose

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
sudo yum -y install docker-ce

启动Docker-ce

sudo systemctl start docker
sudo systemctl enable docker

将当前用户添加到docker组中

sudo usermod -aG docker $USER
newgrp - docker

检查docker是否安装成功

docker -v

在这里插入图片描述

安装docker-compose

curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose
sudo mv ~/docker-compose /usr/local/bin/docker-compose 
chmod +x /usr/local/bin/docker-compose

查看docker是否安装成功

docker-compose -v
Hyperledger Caliper测试Hyperledger Fabric1.4.1性能实战操作_第1张图片

2.下载并配置Node.js

下载Node.js,v8.X LTS或者v10.X LTS就行

sudo wget -P /usr/local https://cdn.npm.taobao.org/dist/node/v8.9.0/node-v8.9.0-linux-x64.tar.xz
cd /usr/local
sudo tar -xvf node-v8.9.0-linux-x64.tar.xz

给node文件夹权限

sudo chmod 777 -R node-v8.9.0-linux-x64

配置环境变量

vim ~/.bashrc

将以下内容复制到bashrc文件中,按I插入,插入完成后按ESC退出插入,输出:wq!保存退出,如下图所示

export PATH=$PATH:/usr/local/node-v8.9.0-linux-x64/bin
Hyperledger Caliper测试Hyperledger Fabric1.4.1性能实战操作_第2张图片

退出后在命令行输入以下命令刷新配置文件

source ~/.bashrc

检查是否安装成功,如果返回版本号即配置成功

node -v
npm -v
Hyperledger Caliper测试Hyperledger Fabric1.4.1性能实战操作_第3张图片

3.配置Hyperledger Caliper

cd /home/yujialing/go/src/github.com/hyperledger
git clone https://github.com/hyperledger/caliper-benchmarks.git

克隆完成后进入目录安装模组包

cd caliper-benchmarks
git checkout v0.3.0

初始化,并安装组件,npm安装慢的同学可以去配一下npm镜像

npm init -y
npm install --only=prod @hyperledger/caliper-cli@0.3.0
npx caliper bind --caliper-bind-sut fabric:1.4.0

4.下载Fabric1.4.1二进制脚本文件

没有搭建Fabric的同学可以到此处0积分下载Fabric1.4.1的二进制脚本文件,并放置在config_solo目录下。

搭建了Hyperledger Fabric的同学也可以去fabric/script目录下用bootstrap.sh下载Fabric1.4.1的二进制脚本文件,步骤如下

cd /home/yujialing/go/src/github.com/hyperledger/fabric/scripts

打开bootstrap.sh,编辑版本参数,分别改为1.4.11.4.10.4.15
Hyperledger Caliper测试Hyperledger Fabric1.4.1性能实战操作_第4张图片
保存后退出。注意,之前搭建Hyperledger Fabric的时候,当前目录下可能有fabric-sample这个文件夹,如果以后还要用到就将其备份起来,以后不用的同学将其删除也可以
Hyperledger Caliper测试Hyperledger Fabric1.4.1性能实战操作_第5张图片

执行以下命令下载fabric-sample、二进制脚本文件和docker镜像

./bootstrap.sh

Hyperledger Caliper测试Hyperledger Fabric1.4.1性能实战操作_第6张图片
下载完成后会在当前文件夹下生成fabic-sample文件,里面有一个bin文件夹用于放置二进制脚本文件,复制到caliper-benchmarks/networks/fabric/config_solo下

cp -r fabric-samples/bin /home/yujialing/go/src/github.com/hyperledger/caliper-benchmarks/networks/fabric/config_solo/bin

config_solo目录下

cd /home/yujialing/go/src/github.com/hyperledger/caliper-benchmarks/networks/fabric/config_solo/bin

进入bin目录查看二进制脚本文件是否已经复制过来,下图显示已经成功复制过来
Hyperledger Caliper测试Hyperledger Fabric1.4.1性能实战操作_第7张图片

返回上一级

cd ..
Hyperledger Caliper测试Hyperledger Fabric1.4.1性能实战操作_第8张图片

目前有4个文件,执行generate.sh

./generate.sh
Hyperledger Caliper测试Hyperledger Fabric1.4.1性能实战操作_第9张图片

成功生成了证书密钥文件夹、通道交易和创世区块

5.解决Fabric(1.4.x)无法正确生成链码的问题

此时如果直接测试Fabric1.4.1的性能仍会报错,这是由于Fabric发布镜像的方式发生更改而导致的错误,这导致旧版Fabric(1.4.x)无法正确生成链码,因为它们无法在docker hub中找到正确的镜像。

解决方案:

查看docker镜像

docker images

Hyperledger Caliper测试Hyperledger Fabric1.4.1性能实战操作_第10张图片
更改docker标签

docker image tag hyperledger/fabric-ccenv:1.4.1 hyperledger/fabric-ccenv:latest

再次查看docker镜像,已成功标记为latest标签

docker images

Hyperledger Caliper测试Hyperledger Fabric1.4.1性能实战操作_第11张图片

6.执行性能测试指令

caliper-benchmarks目录中执行测试Hyperledger Fabric1.4.1性能命令

cd /home/yujialing/go/src/github.com/hyperledger/caliper-benchmarks
npx caliper launch master --caliper-workspace . --caliper-benchconfig benchmarks/scenario/simple/config.yaml --caliper-networkconfig networks/fabric/fabric-v1.4.1/2org1peergoleveldb/fabric-go.yaml

测试成功
Hyperledger Caliper测试Hyperledger Fabric1.4.1性能实战操作_第12张图片

7.更改参数配置

到基准测试配置文件目录下的config.yaml下修改发送交易的速率和交易数量

cd caliper-benchmarks/benchmarks/scenario/simple

Hyperledger Caliper测试Hyperledger Fabric1.4.1性能实战操作_第13张图片
再次执行测试性能指令

npx caliper launch master --caliper-workspace . --caliper-benchconfig benchmarks/scenario/simple/config.yaml --caliper-networkconfig networks/fabric/fabric-v1.4.1/2org1peergoleveldb/fabric-go.yaml

Hyperledger Caliper测试Hyperledger Fabric1.4.1性能实战操作_第14张图片
相对来说TPS有所提升,小伙伴可根据实际测试的结果更改txNumber和tps等其他参数,测试其极限性能

欢迎小伙伴讨论,如有错误请在评论区评论或发私聊消息,谢谢你。

你可能感兴趣的:(Hyperledger,Caliper,Hyperledger,Fabric1.4,区块链,linux,docker,数据安全)