Hyperledger Caliper測試Hyperledger Fabric1.4.1效能實戰

2020-10-02 11:00:20

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

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

退出後在命令列輸入以下命令重新整理組態檔

source ~/.bashrc

檢查是否安裝成功,如果返回版本號即設定成功

node -v
npm -v

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 Fabric的時候,當前目錄下可能有fabric-sample這個資料夾,如果以後還要用到就將其備份起來,以後不用的同學將其刪除也可以

執行以下命令下載fabric-sample、二進位制指令碼檔案和docker映象

./bootstrap.sh

在這裡插入圖片描述
下載完成後會在當前資料夾下生成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目錄檢視二進位制指令碼檔案是否已經複製過來,下圖顯示已經成功複製過來

返回上一級

cd ..

目前有4個檔案,執行generate.sh

./generate.sh

成功生成了證書金鑰資料夾、通道交易和創世區塊

5.解決Fabric(1.4.x)無法正確生成鏈碼的問題

此時如果直接測試Fabric1.4.1的效能仍會報錯,這是由於Fabric釋出映象的方式發生更改而導致的錯誤,這導致舊版Fabric(1.4.x)無法正確生成鏈碼,因為它們無法在docker hub中找到正確的映象。

解決方案:

檢視docker映象

docker images

在這裡插入圖片描述
更改docker標籤

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

再次檢視docker映象,已成功標記為latest標籤

docker images

在這裡插入圖片描述

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

測試成功
在這裡插入圖片描述
歡迎小夥伴討論,如有錯誤請在評論區評論或發私聊訊息,謝謝你。