压力测试caliper/java-sdk

embedded/2024/9/23 7:24:59/

通过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


http://www.ppmy.cn/embedded/16068.html

相关文章

【后端】python2和python3的安装与配置

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、python是什么二、python环境的安装与配置Python 2的安装与配置Python 3的安装与配置注意事项 三、总结 前言 随着开发语言及人工智能工具的普及&#xff0…

【C++】学习笔记——类和对象_3

文章目录 二、类和对象11. 析构函数(补)12. 拷贝构造函数13. 运算符重载 未完待续 二、类和对象 11. 析构函数(补) 析构函数并不是销毁对象,对象的销毁是由编译器完成的,析构函数的作用是清理&#xff0c…

Sping源码(七)—context: component-scan标签如何扫描、加载Bean

序言 简单回顾一下。上一篇文章介绍了从xml文件context component-scan标签的加载流程到ConfigurationClassPostProcessor的创建流程。 本篇会深入了解context component-scan标签底层做了些什么。 component-scan 早期使用Spring进行开发时,很多时候都是注解 标…

记录如何用php删除一段文字中的指定文字

在PHP中,删除一段文字中的指定文字可以通过使用str_replace()函数来实现。这个函数可以替换字符串中的某些字符或字符串,如果你想要删除特定的文字,可以将它们替换为空字符串。 以下是使用str_replace()函数删除指定文字的基本语法&#xff…

Spring 数据脱敏实现方式

1、前言 当前互联网中,越来越重视数据安全,数据脱敏在实际应用中越来越多。 2 、脱敏方式 2.1 数据库sql 语句脱敏 sql 语句脱敏是比较传统通用的,例子如下所示: select CONCAT(LETF(mobile,3),"*****",RIGHT(mobile,…

jupyter notebook用不了multiporcessing的问题

在跑一本drl书中的代码遇到这个问题,到书的github页面看到别人也有类似的问题 搬运答案 Had the same issue, this is because multiprocessing does not work natively inside a Jupyter notebook. For details see this StackOverflow discussion (specifically…

Vision Pro“裸眼上车”,商汤绝影全新舱内3D交互亮相

2023年,Apple Vision Pro的横空出世让人们领略到了3D交互的魅力,商汤绝影通过深厚的技术研发实力和高效的创新迭代效率,带来两大全新座舱3D交互:3D Gaze高精视线交互和3D动态手势交互。 作为全球首创的能够通过视线定位与屏幕图标…

Mybatis二级缓存

如何开启二级缓存 1.在配置文件中&#xff0c;将cacheEnabled属性设置为true &#xff08;默认true&#xff09; <settings><setting name"cacheEnabled" value"true"/> </settings> 2.声明缓存空间 2.1 在xml文件中添加<cache/&…