通过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
版本中进行过验证。
压力测试指南 — FISCO BCOS 2.0 v2.9.0 文档
fisco bcos Caliper部署完整教程(报错解析+自定义测试)_caliper安装-CSDN博客
实战一:搭建本地链用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