一、Caliper的介绍

Caliper是华为出的一款对区块链进行压力测试的工具,网上的介绍不少,但基本都是老版本的,和新版本的使用有比较大的差别,好多问题的解决方式和方法都有了比较大的变化,另外一些代码和配置文件的改动也非常大。
在网上有人提到了,新版本的Caliper有问题,目前只能测试到TPS在800左右,原因是其代码中的一些事件处理占用了太多的CPU资源(8核16G,当然这个只是猜测,他和开源的开发者进行了联系,现象是这个现象,但是原因并不有谈到)。

二、Caliper的环境要求

说一个基本的环境要求:Linux内核3.1以上,最好是4.0以上。原因是文件系统的问题可能会导致整个系统的不稳定。当然,Fabric也是如此要求。
安装的方法在帮助文件档上有:
https://hyperledger.github.io/caliper/vLatest/getting-started/

需要提前安装的软件环境有:
1、nodjs(8.0或10.0系列),node-gyp
这个在网上一些老版本的的文章里一律要求必须是8.x,但在新的帮助文档里说明可以使用10系列,证明也是如此。node-gyp的安装主要是为了方便的使用自动化的构建工具,同时高版本的npm同时安装了npx,方便使用。
2、python2,cmake,g++,git
3、docker和Docker-compose

三、安装

1、安装NODE
https://nodejs.org/dist
在此网站上查找相应的版本,要求8.X或者10.X的latest版本。
wget https://nodejs.org/dist/latest-v10.x/node-v10.17.0-linux-x64.tar.gz
tar zxvf node-v10.17.0-linux-x64.tar.gz
mv node-v10.17.0-linux-x64 node

设置环境变量:
sudo vim /etc/profile
在最后添加:
export NODE_HOME=/home/fanjinfeng/nodejs/node
export PATH=NODEHOME/bin:NODE_HOME/bin:NODEH​OME/bin:PATH
source /etc/profile
验证版本:
node -v
v10.17.0
npm -v
6.11.3

2、安装node-gyp

npm install -g node-gyp
出现错误:
npm ERR! Unexpected end of JSON input while parsing near ‘…512-uXQyMf0GrY/RDfekK’
npm ERR! A complete log of this run can be found in:
npm ERR! /home/fanjinfeng/.npm/_logs/2019-12-02T03_41_51_291Z-debug.log

解决方法:
npm cache clean --force
再重新安装,即可。
附加说明:如何修改.npmrc
npm config edit 直接修改
npm config ls -l 查看位置
npm config get cache 获得缓存位置
npm root -g 获得全局位置
其它修改方法:
a.删掉package.lock.json
b.清除cache
npm cache clean --force
c.进入下面这个文件夹清除cache
路径:C:/Users/PC/AppData/Roaming/npm-cache
执行:
npm cache clean --force
d.不要用淘宝镜像
npm set registry https://registry.npmjs.org/
或者使用淘宝镜像cnpm install
npm的默认地址是https://registry.npmjs.org/
可以使用npm config get registry查看npm的仓库地址
可以使用npm config set registry https://registry.npm.taobao.org来改变默认下载地址,达到可以不安装cnpm就能采用淘宝镜像的目的,然后使用上面的get命令查看是否成功

3、安装Docker
sudo yum install -y yum-utils
sudo yum install docker-ce
然后启动:
systemctl start docker
docker version

二进制安装:
$ sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-(uname−s)−(uname -s)-(uname−s)−(uname -m) -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose

3、安装Caliper

user@ubuntu:~/caliper-benchmarks$ npm init -y
user@ubuntu:~/caliper-benchmarks$ npm install --only=prod @hyperledger/caliper-cli
user@ubuntu:~/caliper-benchmarks$ npx caliper bind --caliper-bind-sut fabric --caliper-bind-sdk 1.4.0
user@ubuntu:~/caliper-benchmarks$ npx caliper benchmark run --caliper-workspace . --caliper-benchconfig benchmarks/scenario/simple/config.yaml --caliper-networkconfig
networks/fabric/fabric-v1.4.1/2org1peergoleveldb/fabric-go.yaml

前三步可执行上述命令,最后一步需要配置相关的文件后,再执行与其文件路径名相符合的命令(比如在下面的第五步中,工作路径就重新指定到了fabric_worksapce)
4、从GITHUB上下载caliper-benchmarks
修改相关的文件,参考三中的第四步的相关文件。

5、运行测试
npx caliper benchmark run --caliper-workspace ./fabric_worksapce --caliper-benchconfig benchmarks/scenario/simple/config.yaml --caliper-networkconfig

networks/fabric/fabric-v1.4.1/2org1peergoleveldb/fabric-go.yaml
需要从fabric官网上下载的caliper-bencmarks都放到worksapce下,这里面目前遇到了三个问题:
a、Dockers的运行权限问题

b、src路径不存在引起的合约部署问题。


c、超时问题。

node_modules/fabric-client/config/default.json配置文件中的request_time 运行成功:“request-timeout” :100000, 这个第一项默认是45000
或者重新再来一次,可能就好了。这个和网络环境有关系。
和之前搭建fabric环境遇到的问题一样,BAD_REQUEST 经常是当前要创建的channel 已经存在所以会出现这个错误,
我们可以通过docker rm -f $(docker ps -q -a)

6、细节
a、NPM下载的软件在当前目录下的node_module中,在其中可以对相关的配置文件进行修改。
b、遇到了某个节点无法删除的问题(比如异常退出,手工中断退出等,导致某个节点无法删除)
$systemctl stop docker //停掉docker服务
$rm -rf /var/lib/docker //注意会清掉docker images的镜像
启动docker即可:systemctl start docker
如果此时出现“https+docker…”无法启动的问题,使用下面的问题解决:
a)、cat /etc/group | grep docker
b)、如果没有则创建docker用户组
sudo groupadd docker
c)、应用用户加入docker用户组
sudo usermod -aG docker ${USER}
例如我的用户名为nelson,则输入命令sudo usermod -aG docker nelson

d)、重启docker服务
sudo systemctl restart docker
e)、切换或者退出当前账户再从新登入
如果有超级帐户权限则比较方便了:
sudo su root ,然后执行:
docker rm -f $(docker ps -a -q),
docker rmi -f $(docker images -q)
这样不不用重复的操作上面一系列步骤。
f)删除遇到overlay2错误

grep docker /proc/*/mountinfo|grep 6031651302dba6053c5fde07937f4fd00dfc063577fa343b12c83f1c26b77887 | awk -F ":" '{print $1}' | awk -F "/" '{print $3}'sudo kill -9 xxx

重复执行容器删除即可。

四、总结

Caliper总体上来说用着还是比较简便,但是说明书确实还需要进一步的细化,一些细节的使用都没有说明,包括配置文件的位置等。可能这些对于经常使用的人来说,不值一提,但对新手来说往往不知所云。

caliper的应用之一最新版本安装和使用相关推荐

  1. 强大的公式编辑器 —— MathType最新版本安装与使用

    强大的公式编辑器 -- MathType最新版本安装与使用 由于使用了很长时间的机械硬盘出现坏道,安装在其中的MathType6.9(精简版)也没办法使用了,本来想安装个高版本的MathType,比如 ...

  2. EDA开源仿真工具verilator入门9:资料总结和最新版本安装

    前面的文章已经对verilator相关功能和流程进行了较详细的介绍,由于最近版本更新较多,并且很多粉丝希望有一个更完整的总结,特别是针对最新版本,本节将基于verilator最新版本,对资料和相关内容 ...

  3. 【开发环境】Mac 中安装 Python3 最新版本 ( 下载 Python 最新版本 | 安装 Python3 | 验证 Python3 )

    文章目录 一.下载 Python 最新版本 二.安装 Python3 三.验证 Python3 一.下载 Python 最新版本 下载 最新 Python 版本 ; 进入 Python 主页 http ...

  4. java最新版怎么安装_Java JDK 最新版本安装与环境配置

    Java 更新速度越来越快,版本迭代也是越来越多,以前的教程中的页面和流程亦有变化,故更新一下.本文使用日前最新版本 Java SE 15为模版. 1. 下载 Java SE 15 地址 下载完成后即 ...

  5. tensorflow2.0对应python版本_TensorFlow2.1.0最新版本安装详细教程

    TensorFlow是一款优秀的深度学习框架,支持多种常见的操作系统,例如Windows10,Mac Os等等,同时也支持运行在NVIDIA显卡上的GPU版本以及仅使用CPU进行运算的CPU版本.此篇 ...

  6. Kubernetes 最新版本安装过程和注意事项

    本文写于 2019-02-06 已亥猪年 农历正月初二 当前最新版本为 v1.13.3 在 18 年 6 月份京东活动的时候,买了一本 Kubernetes 权威指南,一直没时间看,春节期间正好学学. ...

  7. MySQL最新版本安装教程(Windows和Ubuntu)

    MySQL官方安装教程 官方安装教程,各种系统的安装都有:https://dev.mysql.com/doc/refman/8.0/en/installing.html MySQL Community ...

  8. npm 如何提升最新版本 安装 卸载

    首先我们查看一下npm当前版本,打开cmd 运行指令 npm -v 如果不是最新版本,运行一下代码即可. 运行指令 npm install -g npm 这样npm就更新到最新版本了. 如果想更新到指 ...

  9. python中文版下载安装教程,python最新版本安装教程

    python下载安装教程 python下载安装教程:自定义安装目录,点击install进行安装,打开cmd窗口,输入python,显示python的版本,安装成功. Python语言更适合初学者,Py ...

最新文章

  1. TX2---远程操作
  2. 记一次windows的安装
  3. guava中的Strings
  4. 搭建git服务器(权限管理)
  5. java中为何输出框会无限输出,MyBatis启动时控制台无限输出日志的原因及解决办法...
  6. HDU 3952 Fruit Ninja
  7. bzoj 2216: [Poi2011]Lightning Conductor(DP决策单调性)
  8. 了解Java密码扩展的基础
  9. SignalR-Client-CPP 源码编译
  10. python 自动下载文件_Python自动下载文件正确操作方法
  11. 计算机英语 st,1st、2nd、3rd、…10th都是什么的缩写?怎么读?10th之...-1st-英语-司俜辰同学...
  12. 简单易懂的贝叶斯公式
  13. 卡尔曼滤波c语言程序,卡尔曼滤波算法的简单应用及其C语言实现
  14. 让计算机读懂你的心 记李航老师计算机前沿讲座
  15. 利用雅可比方法求线性方程组C语言_工程项目经济评价的基本方法
  16. [杂言] 祭奠与真正的告别
  17. 如何下载滨海新区卫星地图高清版大图
  18. 出门问问AIGC SaaS平台亮相数贸会 赋能内容创作全流程
  19. 用html和js编写黑洞数,黑洞数与其简单理论
  20. 微信小程序制作科学计算器(控制台接受显示数据)

热门文章

  1. 不足百元的乐高式积木,玩转数理机械原理
  2. 你真的了解MySQL了吗,那你给我说一下锁机制!
  3. essential C++的复习
  4. Generative Adversarial Networks: An Overview文献阅读笔记
  5. 12,桥接模式-露娜的召唤师技能
  6. 超时空机战服务器配置信息错误,大神解答超时空机战常见问题 新手福利篇
  7. Android中打招呼
  8. jQuery事件动画
  9. ARM CortexA9寄存器组织
  10. svn: E155004: Run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)