通过Caliper进行压力测试程序

第一步. 配置基本环境

部署 Caliper 的计算机需要有外网权限;
操作系统版本需要满足以下要求: Ubuntu >= 16.04 CentOS >= 7 MacOS >= 10.14
部署 Caliper 的计算机需要安装有以下软件: python 2.7 make g++ gcc git

安装NodeJS  

版本要求:
NodeJS 8 (LTS), 9, 10 (LTS) Caliper 尚未在更高的 NodeJS 版本中进行过验证。

 

 实战一:搭建本地链用caliper压测

第一步:搭链

 安装依赖

sudo apt install -y openssl curl
创建操作目录 , 下载安装脚本
cd ~ && mkdir -p fisco && cd fisco
curl -#LO https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/FISCO-BCOS/FISCO-BCOS/releases/v2.9.1/build_chain.sh && chmod u+x build_chain.sh
搭建单群组 4 节点联盟链
bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545
启动链
bash nodes/127.0.0.1/start_all.sh

第二步:配置网络配置文件

networks/fisco-bcos/test/ 创建 fisco-bcos2.json 配置网络适配文件:

 

{
  "caliper": {
    "blockchain": "fisco-bcos"
  },
  "fisco-bcos": {
    "config": {
      "privateKey": "bcec428d5205abe0f0cc8a734083908d9eb8563e31f943d760786edf42ad67dd",
      "account": "0x0ff8981ebc130c7874ac7093a4d0c0e3d4f36b08"
    },
    "network": {
      "nodes": [
        {
          "ip": "127.0.0.1",
          "rpcPort": "8545",
          "channelPort": "20200" 
        },
        {
          "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": "/root/fisco/nodes/127.0.0.1/sdk/sdk.key",
        "cert": "/root/fisco/nodes/127.0.0.1/sdk/sdk.crt",
        "ca": "/root/fisco/nodes/127.0.0.1/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"
  }
}
 测试脚本文件介绍

测试配置文件位于./benchmarks/samples/fisco-bcos/helloworld/config.yaml

 

 

第三步,对本地四节点链进行测试

cd /home/myy/Desktop/benchmarks/caliper-benchmarks
npx caliper benchmark run --caliper-workspace /home/myy/Desktop/benchmarks/caliper-benchmarks --caliper-benchconfig /home/myy/Desktop/benchmarks/caliper-benchmarks/benchmarks/samples/fisco-bcos/helloworld/config.yaml --caliper-networkconfig /home/myy/Desktop/benchmarks/caliper-benchmarks/networks/fisco-bcos/test/fisco-bcos2.json
  • --caliper-workspace:指定 Caliper 的工作空间路径,通常是包含 benchmark 配置和网络配置的目录路径。
  • --caliper-benchconfig:指定要运行的基准测试的配置文件的路径。这个配置文件描述了性能测试的参数、交易的工作负载等。
  • --caliper-networkconfig:指定网络配置文件的路径。这个文件描述了要连接的区块链网络的信息,如节点地址、身份验证等。

 

第四步:停止节点  

cd /root/fisco/nodes/127.0.0.1/stop_all.sh

通过Java SDK进行压力测试

第一步:安装JDK

sudo apt install openjdk-11-jdk
java --version

第二步编译源码

./gradlew build

第三步. 配置Demo

cd dist
cp -r ~/fisco/nodes/127.0.0.1/sdk/* conf
由于我的区块链环境具有四个节点,所以应该修改 java-sdk-demo/dist/conf/config.toml下的network.peers 配置
peers=["127.0.0.1:20200", "127.0.0.1:20201","127.0.0.1:20202","127.0.0.1:20203"]

 第四步. 执行示例压力测试程序

注意:你的本地链需要启动

cd dist
java -cp 'conf/:lib/*:apps/*' org.fisco.bcos.sdk.demo.perf.PerformanceOk 10000 1000 1

Logo

欢迎加入西安开发者社区!我们致力于为西安地区的开发者提供学习、合作和成长的机会。参与我们的活动,与专家分享最新技术趋势,解决挑战,探索创新。加入我们,共同打造技术社区!

更多推荐