hyperledger caliper进行fabric性能测试

hyperledger caliper是一个用来测试区块链平台性能的框架,测试结果会生成一份报告,方便查看,测试的内容也比较全面。


测试结果示例

这个项目更新比较频繁,现在找到的两个月前的教程都和现在的项目很不一样了,所以就重新写一个来记录配置中遇到的一些问题和解决方法。

1. 准备工作

拉取代码

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

安装需要的包

NodeJS

这里nodeJS要大于8的版本才可以
版本下载地址:https://nodejs.org/dist/v8.10.0/
下载后,解压文件,将nodejs中的bin目录加入PATH中

vim ~/.bashrc

在文件最下方加上

PATH=$PATH:nodejs的路径/bin

保存并退出,然后重新加载一下文件

source ~/.bashrc

完成后,执行node检查,如下所示就是完成了

$ node -v
v8.10.0
$ npm -v
5.6.0
docker

我这里用的是ubuntu的系统,跟着docker的教程安装就可以
官网地址:ubuntu下安装docker
下面是我的搬运

$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

完成后检查一下

$ sudo docker run hello-world

运行成功即完成

docker-compose

docker-compose 版本要大于 1.22,不能用apt-get直接下载

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
node-gyp

使用npm下载即可

npm install node-gyp -g
检查

运行caliper中的脚本检查版本,如下就可以了

$ ./scripts/pre-requisites-check-for-linux.sh 
****************node**********************
Node.js is installed, version is v8.10.0
Node.js version is right


***************docker*******************
Docker is installed, the version is 18.09.6
Docker's version is right


***************docker-compose*******************
Docker-compose is installed, the version is 1.24.1
Docker's version is right

2. 构建caliper

在caliper根目录下执行下面的指令,注意不能使用sudo

$ npm install 
$ npm run repoclean

最后引导安装

npm run bootstrap

这个安装进度比较慢,如果很长时间运行都没有结束,并且packages目录也一直都没有更新的话,ctrl+c结束掉,然后到packages下面查看子目录中是否有 node_modules/,如果有,应该就可以了。

$ ls packages/caliper-tests-integration/

如果没有,需要恢复package.json然后再次运行(这个是官网的说法),貌似ctrl+c结束掉之后,package.json就自动恢复了,所以再次运行npm run bootstrap 就可以。
最后可以运行测试检查一下

npm run test

没有报错就是成功了

3. 安装 caliper cli

进入packages/caliper-tests-integration/ 目录

cd ./packages/caliper-tests-integration

执行

npm run start_verdaccio

这里有一个问题,我在执行完成这个操作后,会出现

[PM2] Spawning PM2 daemon with pm2_home=.pm2

然后就一直都不会有下一步了,等了一夜也没有反应,然后经过多次尝试,只需要把 pm2_home的路径改掉就可以。

vim scripts/start-verdaccio.sh 

在文件的最后面,修改为如下的样子

# Start npm server
# PM2_HOME=.pm2 pm2 start verdaccio -- -l 0.0.0.0:4873 -c scripts/config.yaml
pm2 start verdaccio -- -l 0.0.0.0:4873 -c scripts/config.yaml

就可以顺利运行了。
接下来运行

npm run publish_packages
npm run install_cli

运行过程中可能会报一些warning,可以不用理会,出现如下内容就运行成功了

Installed test package caliper-cli from local npm server (attempt 1/5)

运行

$ caliper

出现相关的命令,就安装完成了。

4. 测试fabric

回到 caliper根目录,运行

sudo caliper benchmark run -w ./packages/caliper-samples -c benchmark/simple/config.yaml -n network/fabric-v1.4/2org1peercouchdb/fabric-ccp-node.yaml

这里会运行一些docker,如果运行成功就会出现下面的报告。


测试结果示例

如果失败了就可能手动删除docker。

sudo docker stop $(sudo docker ps -aq)
sudo docker rm $(sudo docker ps -aq)

你可能感兴趣的:(hyperledger caliper进行fabric性能测试)