赞
踩
"language": "solidity",
"version": "v0"
}
]
},
"info": {
"Version": "2.0.0",
"Size": "4 Nodes",
"Distribution": "Single Host"
}
}

#### 第三步,对本地四节点链进行测试
npx caliper benchmark run --caliper-workspace caliper-benchmarks --caliper-benchconfig benchmarks/samples/fisco-bcos/helloworld/config.yaml --caliper-networkconfig networks/fisco-bcos/test/fisco-bcos2.json


测试和进程资源状态都可以监测,但在本地监测中,无法监测每个节点的资源状态。
#### 第四步:停止节点
bash nodes/127.0.0.1/stop_all.sh
 ### 如何改成预编译的智能合约进行测试? 测试文件参数介绍 参数 含义 * test.name 要在报告中显示的benchmark的短名称。 * test.description 要在报告中显示的benchmark的详细说明。 * test.workers 与工作线程相关的对象的配置。 * test.workers.type (暂未投入使用) * test.workers.number 指定用于执行工作负载的工作进程数。 * test.rounds 对象回合数组,一个数组下可以有多轮不同的测试任务。 * test.rounds[i].label 该轮测试的名称,通常对应于该轮要提交的测试的类型。 * test.rounds[i].txNumber应在该轮任务提交的任务数。 * test.rounds[i].txDuration 该轮提交任务数的用时(单位,秒)。 * test.rounds[i].rateControl 描述该轮的速率控制策略。 * test.rounds[i].workload 描述该轮的工作负载模块。 * test.rounds[i].workload.module 该轮基准测试工作负载模块实现的路径。 * test.rounds[i].workload.arguments 作为配置,传递给该轮工作负载模块的参数 ### 通过Java SDK进行压力测试 配置工程链基本环境后,介绍具体测试步骤和要点。 * 1. 编写合约:HelloWorld合约。 * 2. 编译智能合约,将其转为Java文件,从上述WeBASE-Front中,也能编译并导出Java文件。 * 3. 将编译生成的Java文件导入工程中,如HelloWorld.java。 * 4. 基于上述文件,调用合约功能和接口,编写相关测试案例,例如:ContractTest。 * 5. 基于Spring提供的gradle插件,我们可以通过”./gradlew test”命令来运行所有测试案例。 * 6. 如果需要持续集成,可以在配置和初始化FISCO BCOS后,将步骤5命令加入自动化脚本中。 #### 第一步:安装JDK
sudo apt install openjdk-11-jdk
java --version
#openjdk 11.0.22 2024-01-16
#OpenJDK Runtime Environment (build 11.0.22+7-post-Ubuntu-0ubuntu220.04.1)
#OpenJDK 64-Bit Server VM (build 11.0.22+7-post-Ubuntu-0ubuntu220.04.1, mixed
mode, sharing)

#### 第二步:编译源码
git clone https://github.com/FISCO-BCOS/java-sdk-demo
cd java-sdk-demo
git checkout main-2.0
./gradlew build
    #### 第三步. 配置Demo 使用Java SDK Demo之前,需要首先要Java SDK,包括证书拷贝以及端口配置,详细请参考这里
cd dist
cp -r /root/fisco/nodes/127.0.0.1/sdk/* conf
$ cp conf/config-example.toml conf/config.toml
#由于我的区块链环境具有四个节点,所以应该修改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”]
    #### 第四步. 执行示例压力测试程序 Java SDK Demo提供了一系列压测程序,包括串行转账合约压测、并行转账合约压测、AMOP压测等, 具体使用方法如下:
$ cd dist
mkdir -p contracts/solidity
$ java -cp “apps/:lib/:conf/” org.fisco.bcos.sdk.demo.codegen.DemoSolcToJava
${packageName}
java -cp ‘conf/:lib/:apps/’ org.fisco.bcos.sdk.demo.perf.PerformanceOk [count]
[tps] [groupId]
$ java -cp ‘conf/:lib/:apps/’ org.fisco.bcos.sdk.demo.perf.ParallelOkPerf
[parallelok] [groupID] [add] [count] [tps] [file]
java -cp ‘conf/:lib/:apps/’ org.fisco.bcos.sdk.demo.perf.ParallelOkPerf
[precompiled] [groupID] [add] [count] [tps] [file]
$ java -cp ‘conf/:lib/:apps/’ org.fisco.bcos.sdk.demo.perf.ParallelOkPerf
[parallelok] [groupID] [transfer] [count] [tps] [file]
$ java -cp ‘conf/:lib/:apps/’ org.fisco.bcos.sdk.demo.perf.ParallelOkPerf
[precompiled] [groupID] [transfer] [count] [tps] [file]
$ java -cp ‘conf/:lib/:apps/’ org.fisco.bcos.sdk.demo.perf.PerformanceTable
[insert] [count] [tps] [groupId]
$ java -cp ‘conf/:lib/:apps/’ org.fisco.bcos.sdk.demo.perf.PerformanceTable
[update] [count] [tps] [groupId]
$ java -cp ‘conf/:lib/:apps/’ org.fisco.bcos.sdk.demo.perf.PerformanceTable
[remove] [count] [tps] [groupId]
$ java -cp ‘conf/:lib/:apps/’ org.fisco.bcos.sdk.demo.perf.PerformanceTable
[query] [count] [tps] [groupId]
以上对压测合约进行解释,如已经生成配置文件了,就可以直接运行下面的代码

然后下面是对合约进行运行
cd ~/java-sdk-demo/dist
java -cp ‘conf/:lib/:apps/’ org.fisco.bcos.sdk.demo.perf.PerformanceOk [count]
[tps] [groupId]
java -cp ‘conf/:lib/:apps/’ org.fisco.bcos.sdk.demo.perf.PerformanceOk 10000 1000 1
#200000代表总测试量为10000 1000代表每秒向区块链系统发送1000次请求 1代表区块链系统的groupId

出现以下错误是因为搭链没有启动要先启动链

bash start_all.sh
 ### 自定义压测代码 压测自定义合约的开发均在Java SDK Demo中进行,我们需要开发三个文件,分别是: 待压测的智能合约:HelloWorld.sol 待压测的智能合约所编译出的Java类:HelloWorld.java 压力测试程序:PerformanceHelloWorld.java #### 项目的存放路径  首先编译Helloworld.sol文件 创建 contracts/solidity文件
cd ~/java-sdk-demo/dist
mkdir -p contracts/solidity

生成Helloworld.sol文件
cd contracts/solidity
vim HelloWorld.sol
#生成以上Helloworld智能合约完成简单的获取和设置name功能
## 最后 **自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。** **深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!** **因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**      **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!** [**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618653875) **由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!** 1715632224785)] [外链图片转存中...(img-58BTrlSX-1715632224785)] [外链图片转存中...(img-IzC3GIiB-1715632224785)] **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!** [**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618653875) **由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。