Caliper压力测试

准备

        首先我们部署caliper的电脑或虚拟机需要可以联网。

        我们的操作系统需要满足以下要求:Ubuntu >= 16.04 、CentOS >= 7。

        本次使用的操作系统是Ubuntu20.0.4系统。

第一步:环境搭建

        首先我们需要安装NodeJS,我们这里先下载nvm管理工具这样有利于管理node的版本,命令如下:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash

如果因为网络问题,长时间无法下载,请尝试:curl -o- https://gitee.com/mirrors/nvm/raw/v0.33.2/install.sh | bash

        加载nvm配置

source ~/.$(basename $SHELL)rc

        现在我们使用nvm下载NodeJS并使用node版本,命令如下:

nvm install 8
nvm use 8

         可以使用 node -v 来查看node的版本号:

       我们这里还需要安装docker因为我们测试的不是自己的链,在安装之前我们需要更新包索引,如何在进行安装,更新命令如下:

sudo apt-get update

        更新完之后就可以部署docker,安装基本依赖库,命令如下:

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

         现在添加官方的GPG key:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

         成功之后的截图,最后会出现一个OK。

        添加docker仓库:

sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

         再次更新索引包:

sudo apt-get update

        然后安装docker:

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

        加入docker用户组:

sudo groupadd docker
sudo usermod -aG docker $USER

        然后我们还需要安装Docker Compose:

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

        现在需要给执行权限:

sudo chmod +x /usr/local/bin/docker-compose

第二步:Caliper部署

        建立工作目录:

mkdir benchmarks && cd benchmarks

        对npm项目进行初始化,执行之后碰到要输入的地方,一直按回车:

npm init

        执行之后的结果图:

         安装caliper-cli:

npm install --only=prod @hyperledger/caliper-cli@0.2.0

        验证caliper-cli是否安装成功,使用以下命令查看版本,如果可以看到就代表安装成功了:

npx caliper -version

         由于Caliper采用了轻量级的部署方式,因此需要显式的绑定步骤指定要测试的平台:

npx caliper bind --caliper-bind-sut fisco-bcos --caliper-bind-sdk latest

         如果安装时出现了这个问题,就需要切换镜像:

         如果遇到了这个问题,我们就需要切换淘宝镜像:

npm install -g cnpm --registry=https://registry.npm.taobao.org

        然后清除以下npm缓存:

npm cache clean --force

        然后再次绑定就可以成功了:

         然后我们在工作目录下,下载预定义测试用例:

git clone https://github.com/vita-dounai/caliper-benchmarks.git

 如果因为网络问题长时间拉取代码失败,请尝试:git clone https://github.com/vita-dounai/caliper-benchmarks.git

        成功结果如下:

第三步:Hello World测试

        我们现在执行Hello World脚本的测试:

npx caliper benchmark run --caliper-workspace caliper-benchmarks --caliper-benchconfig benchmarks/samples/fisco-bcos/helloworld/config.yaml  --caliper-networkconfig networks/fisco-bcos/4nodes1group/fisco-bcos.json

        如果出现如下错误:

         这个需要我们自己去修改以下代码,需要修改的文件和代码,首先我们需要先进入文件中,命令如下:

vim node_modules/\@hyperledger/caliper-fisco-bcos/lib/fiscoBcos.js

 看清楚自己的路径在进行执行,一定要看清楚

         进入fiscoBcos.js文件之后我们需要修改如下三处:

 修改fiscoBcos.js

        第一处大约在25行左右:

const Color = require('./common').Color;

         使用上面这行语句代替掉下面截图中注释的代码,截图如下:

        第二处需要改动的地方大约在41行左右:

if (this.fiscoBcosSettings.network && this.fiscoBcosSettings.network.authentication) {
            for (let k in this.fiscoBcosSettings.network.authentication) {
                this.fiscoBcosSettings.network.authentication[k] = CaliperUtils.resolvePath(this.fiscoBcosSettings.network.authentication[k], workspace_root);
            }
}

         如下图,在使用浅蓝色框的代码下面粘贴上面提供的代码,加入完的截图如下:

         第三处需要修改的地方大约在62行处:

const fiscoBcosSettings = this.fiscoBcosSettings;

         使用提供的代码,代替掉下面截图中注释掉的代码:

 修改channelPromise.js

        首先我们需要先使用如下命令进入到channelPromise.js

vim node_modules/\@hyperledger/caliper-fisco-bcos/lib/channelPromise.js

         同样也需要注意自己执行命令的路径:

        在这个配置文件中我们只需要修改一处即可,大约在文件的49行左右:

    let emitter = emitters.get(seq);
    if(!emitter) {
        return;
    }
    emitter = emitter.emitter;

         需要把下方截图中橙色框中的代码注释掉或者删掉,然后添加上方提供的代码:

 修改web3sync.js

        这个文件也有三处需要修改的地方,但是都很简单,我们同样先进入到web3sync.js中,命令如下:

vim node_modules/\@hyperledger/caliper-fisco-bcos/lib/web3lib/web3sync.js

         同样也需要检查以下自己执行命令的所在路径:

         第一处修改大约在27行左右:

uuid = '0x' + uuid.replace(/-/g, '');

         使用上面提供的代码替代调用下方截图中注释掉的代码

         第二处修改大于在91行左右:

extraData: '0x0'

        把截图中注释掉的代码替换成上面提供的代码:

        第三处修改在118行左右:

extraData: '0x0'

         同样也是把注释掉的代码替换成上面提供的代码

        然后我们再次执行测试Hello World的命令:

npx caliper benchmark run --caliper-workspace caliper-benchmarks --caliper-benchconfig benchmarks/samples/fisco-bcos/helloworld/config.yaml  --caliper-networkconfig networks/fisco-bcos/4nodes1group/fisco-bcos.json

         然后就会报如下的错误:

         我们还需要修改最后一个地方,首先我们需要先进入到caliper-fisco-bcos目录:

cd node_modules/\@hyperledger/caliper-fisco-bcos/

        同样也要注意执行命令的目录:

 修改package.json

        然后我们需要进入 package.json文件中:

vim package.json

         然后我们需要添加一个依赖包:

"secp256k1": "^3.8.0"

        我们把上面这个依赖包添加到dependencies,的最后面,操作如下图:

         最后我们需要在该目录执行以下命令:

npm i

         最后会这样,不用管:

        现在我们回到benchmarks目录:

cd /root/fisco/benchmarks

注意:一定要注意自己的路径,因为路径可能和我的并不一样。

第四步:Hello World测试成功

        现在我们再次执行Hello World脚本进行测试:

npx caliper benchmark run --caliper-workspace caliper-benchmarks --caliper-benchconfig benchmarks/samples/fisco-bcos/helloworld/config.yaml  --caliper-networkconfig networks/fisco-bcos/4nodes1group/fisco-bcos.json

         出现如下截图就表示caliper测试成功了:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一曲悲凉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值