0418WeCross搭建 + Caliper测试TPS

1. 基本信息

虚拟机名称:Pure-Ununtu18.04
WeCross位置:cd /root/wecross-demo

2. 搭建并启动WeCross

  1. bash clear.sh #清理旧demo环境
  2. bash build.sh #启动WeCross
    2.1. 输入:ip: 127.0.0.1, port: 3306, username: root, password: root
  3. Start WeCross Console? n
  4. 虚拟机内访问WeCross网页管理平台 http://localhost:8250/s/index.html#/login
    登录账户:org1-admin,密码:123456

#wecross官方指导文档
https://wecross.readthedocs.io/zh-cn/v1.2.0/docs/tutorial/demo/demo.html

3. 启动Fabric浏览器

  1. cd /root/wecross-demo/fabric/explorer
  2. 删除pgdata , crypto和 walletstore文件夹 rm -r pgdata, rm -r walletstore, rm -r crypto
  3. 创建空crypto文件夹 mkdir crypto
  4. cp -r /root/wecross-demo/fabric/fabric-samples-1.4.4/first-network/crypto-config/* crypto
  5. cd /root/wecross-demo/fabric/explorer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore
  6. 复制此目录下的文件名称xxx_sk,替换/root/wecross-demo/fabric/explorer/connection-profile/test-network.json的32行中的xxx_sk
  7. cd /root/wecross-demo/fabric/explorer
  8. 清除缓存 bash stop.sh
  9. 启动区块链浏览器 bash start.sh
  10. 虚拟机内访问http://localhost:8082/#/login
    用户名:exploreradmin 密码:exploreradminpw

#参考下述链接
https://blog.csdn.net/shenzhang7331/article/details/134270735

4. 启动FISCO BCOS浏览器

  1. 切换到bcos浏览器位置:cd /root/fisco-browser/browser-deploy
  2. 启动bcos浏览器:python3 deploy.py startAll
  3. 虚拟机内访问bcos浏览器:http://127.0.0.1:5100/
  4. 群组配置:配置-群组配置,删除已有群组
    群组ID:1,群组名称:XXX
  5. 节点配置:配置-节点配置-新增节点
    IP:127.0.0.1,rpc:8545,p2p:30300
    IP:127.0.0.1,rpc:8546,p2p:30301
    IP:127.0.0.1,rpc:8547,p2p:30302
    IP:127.0.0.1,rpc:8548,p2p:30303
  6. 区块链信息-概览,节点显示正常即可!

#官方参考链接
https://fisco-bcos-documentation.readthedocs.io/zh-cn/dev/docs/browser/deploy.html
#注意事项
1.新建群组需要配置群组ID,群组名称,描述。群组ID需要和区块链群组ID保持一致。群组ID查看方式: 通过RPC接口获取 https://fisco-bcos-documentation.readthedocs.io/zh-cn/dev/docs/api.html#getgrouplist**
2. 添加群组所在的节点信息,用于区块链浏览器连接拉取相关展示信息。节点的rpc端口信息和p2p端口信息可以从节点的 config.ini配置文件中获取*

5. 使用Caliper0.2 测试Fabric1.4性能

  1. cd /root/wecross-demo/fabric/explorer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore
  2. 复制此目录下的文件名称xxx_sk,替换/root/caliper-workspace/networks/networkConfig.json的18行中的xxx_sk
  3. 在benchmarks目录下的benchmark.yaml,用于定义测试的发送交易总量、以及发送tps, 根据自己服务器配置进行调整。
    txNumber :发送交易总量,一般为20
    tps:交易发送速率,一般为10
    根据实验需求,修改CT_load.js中的18行和20行,set方法为写入数据(修改20行中的key, value),get方法为读取数据(20行中只需要key)
  4. cd /root/caliper-workspace
  5. 运行caliper
    npx caliper launch manager --caliper-workspace ./ --caliper-networkconfig networks/networkConfig.json --caliper-benchconfig benchmarks/benchmark.yaml --caliper-flow-only-test --caliper-fabric-gateway-enabled

参考链接:
https://blog.csdn.net/shenzhang7331/article/details/134270735

6. 使用Caliper0.2 测试FISCO BCOS性能

  1. 将/root/wecross-demo/bcos/nodes/127.0.0.1/sdk下的sdk.key,sdk.crt, ca.crt依次拷贝至/root/0418/Caliper/networks/fisco-bcos/4nodes1group/sdk目录下
  2. 在/root/0418/Caliper/benchmarks/samples/fisco-bcos/helloworld目录下的config.yaml,定义测试的发送交易总量、以及发送tps, 根据自己服务器配置进行调整。
    txNumber :发送交易总量,一般为20
    tps:交易发送速率,一般为10
  3. 根据实验需求,修改/root/0418/Caliper/benchmarks/samples/fisco-bcos/helloworld目录下get.js与set.js
  4. cd /root/0418/Caliper
  5. 运行Caliper
    npx caliper benchmark run --caliper-benchconfig benchmarks/samples/fisco-bcos/helloworld/config.yaml --caliper-networkconfig networks/fisco-bcos/4nodes1group/fisco-bcos.json

FISCO BCOS 压力测试官方链接
https://fisco-bcos-documentation.readthedocs.io/zh-cn/dev/docs/tutorial/caliper.html

7. 试验结束

  1. cd /root/wecross-demo
  2. bash /root/wecross-demo/clear.sh
  3. poweroff

注意事项:
1.安装并绑定Caliper0.2.0之后,由于FISCO BCOS对于caliper 0.2.0版本的适配存在部分不兼容情况,需要手动按照(https://github.com/FISCO-BCOS/FISCO-BCOS/issues/1248)中的步骤修改代码后方可正常运行。

https://github.com/FISCO-BCOS/FISCO-BCOS/issues/1248
https://github.com/FISCO-BCOS/FISCO-BCOS/issues/1721

2.官方链接中的第三步 快速体验FISCO BCOS基准测试 测试的是在dockers中部署的一条BCOS链,并不是WeCross管辖的链,因此需要修改配置文件如下:

#文件位置: caliper-benchmarks/networks/fisco-bcos/4nodes1group/fisco-bcos.json

{
    "caliper": {
        "blockchain": "fisco-bcos"
    },
    "fisco-bcos": {
        "config": {
            "privateKey": "bcec428d5205abe0f0cc8a734083908d9eb8563e31f943d760786edf42ad67dd",
            "account": "0x64fa644d2a694681bd6addd6c5e36cccd8dcdde3"
        },
        "network": {
            "nodes": [
                {
                    "ip": "127.0.0.1",
                    "rpcPort": "8545", #node0的rpcPORT, 位于wecross-demo/bcos/nodes/127.0.0.1/node0/config.ini
                    "channelPort": "20200" #node0的rpcPORT, 位于wecross-demo/bcos/nodes/127.0.0.1/node0/config.ini
                },
                {
                    "ip": "127.0.0.1",
                    "rpcPort": "8546",
                    "channelPort": "20201"
                },
                {
                    "ip": "127.0.0.1",
                    "rpcPort": "8547",
                    "channelPort": "20202"
                },
                {
                    "ip": "127.0.0.1",
                    "rpcPort": "8548",
                    "channelPort": "20203"
                }
            ],
            "authentication": {
                "key": "./networks/fisco-bcos/4nodes1group/sdk/sdk.key",#此处需要将/root/wecross-demo/bcos/nodes/127.0.0.1/sdk下的sdk.key,sdk.crt, ca.crt拷贝至此,前面的路径不能改变。注意名称变化!!!
                "cert": "./networks/fisco-bcos/4nodes1group/sdk/sdk.crt",
                "ca": "./networks/fisco-bcos/4nodes1group/sdk/ca.crt"
            },
            "groupID": 1,
            "timeout": 100000
        },
        "smartContracts": [
            {
                "id": "helloworld",
                "path": "src/fisco-bcos/helloworld/HelloWorld.sol",
                "language": "solidity",
                "version": "v0"
            }
        ]
    },
    "info": {
        "Version": "2.0.0",
        "Size": "4 Nodes",
        "Distribution": "Single Host"
    }
}
# 文件位置
test:
  name: Hello World
  description: This is a helloworld benchmark of FISCO BCOS for caliper
  clients:
    type: local
    number: 1
  rounds:
  - label: set
    description: Test performance of getting name
    txNumber:
    - 100
    rateControl:
    - type: fixed-rate
      opts:
        tps: 50
    callback: benchmarks/samples/fisco-bcos/helloworld/set.js #将实验内容写入
  - label: get
    description: Test performance of setting name
    txNumber:
    - 100
    rateControl:
    - type: fixed-rate
      opts:
        tps: 50
    callback: benchmarks/samples/fisco-bcos/helloworld/get.js
monitor:
  type:
  - docker
  - process
  docker:
    name:
    - node0
    - node1
    - node2
    - node3
  process:
    - command: node
      arguments: fiscoBcosClientWorker.js
      multiOutput: avg
  interval: 0.5
  1. 上述过程是使用Caliper测试示例代码caliper-benchmark中的helloworld.sol文件部署在WeCross中的FISCO BCOS链上的性能,可通过BCOS浏览器查看测试结果。

8 自行测试总结:

  1. /root/fisco 文件夹里的那条链是WeBASE作为浏览器的
  2. 在FISCO BCOS区块链系统中使用Java SDK进行压力测试
    参考链接: https://blog.csdn.net/Qudoudou2020/article/details/134081824
    使用Java_sdk_demo进行压力测试
java -cp 'conf/:lib/*:apps/*' org.fisco.bcos.sdk.demo.perf.PerformanceOk 3000 1000000 1

测试结果如下:
在这里插入图片描述

  1. 需要用gradle进行自行编译合约的测试代码并编译,没搞懂。。。试过将PerformanceHelloWorld.java合约放在 ./gradelw build之前,一直报错说 google format error
    参考链接 https://blog.csdn.net/Qudoudou2020/article/details/134081824
  • 9
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值