fiscoBcos压力测试

压力测试

本例只是示范怎么去用官方提供的测试代码去进行测试,测试的数据和参数仅提供参考

第一步:验证java版本,Java SDK Demo中的测试程序能够在部署有JDK 1.8 ~ JDK 14的环境中运行。

img

第二步:编译源码

# 下载源码

git clone https://github.com/FISCO-BCOS/java-sdk-demo

cd java-sdk-demo

# 切换到2.0版本

git checkout main-2.0

# 编译源码

./gradlew build

第三步:将节点证书,端口配置拷贝至java SDK Demo中的dist中

cd dist

cp -r ~/fisco/nodes/127.0.0.1/sdk/* conf

如果修改了Channel端口,则要去config.toml中*[network.peers]*进行修改

cp conf/config-example.toml conf/config.toml

第四步:执行压力测试程序

cd dist

Count:压测的交易总量,即要发送的交易请求数量。

Tps:每秒钟期望发送的交易数。

串行转账合约压测

java -cp ‘conf/:lib/:apps/’ org.fisco.bcos.sdk.demo.perf.PerformanceOk 5500 500 1

Count:5500

Tps:500

img

60%的交易在1-2s内完成,并且cpu达到满载,接近性能瓶颈

基于Solidity并行合约parallelok添加账户

java -cp ‘conf/:lib/:apps/’ org.fisco.bcos.sdk.demo.perf.ParallelOkPerf parallelok 1 add 10000 1000 accounts.txt

基于Solidity合约添加账户

Count:10000

Tps:1000

img

80%数据在1-2s之内完成,cpu也达到满载,接近性能瓶颈

基于Precompiled并行合约precompiled添加账户

java -cp ‘conf/:lib/:apps/’ org.fisco.bcos.sdk.demo.perf.ParallelOkPerf precompiled 1 add 10000 1000 precompiled_accounts.txt

Count:10000

Tps:1000

Cpu满载,接近新能瓶颈

img

# 基于Solidity并行合约parallelok发起转账交易压测

java -cp ‘conf/:lib/:apps/’ org.fisco.bcos.sdk.demo.perf.ParallelOkPerf parallelok 1 transfer 10000 1000 accounts.txt

用户数量为10000

Count:1000

Tps:1000

image-20241226191109668

Cpu满载,接近新能瓶颈

# 基于Precompiled并行合约Precompiled发起转账压测

java -cp ‘conf/:lib/:apps/’ org.fisco.bcos.sdk.demo.perf.ParallelOkPerf precompiled 1 transfer 10000 1000 precompiled_accounts.txt

用户数量为10000

Count:10000

Tps:1500

image-20241226191120229

Cpu满载,接近新能瓶颈

CURD

新增

java -cp ‘conf/:lib/:apps/’ org.fisco.bcos.sdk.demo.perf.PerformanceTable insert 10000 500 1

Count:10000

Tps:500

img

Cpu满载,接近新能瓶颈

修改

Count:10000

Tps:500

java -cp ‘conf/:lib/:apps/’ org.fisco.bcos.sdk.demo.perf.PerformanceTable update 10000 500 1

img

删除

java -cp ‘conf/:lib/:apps/’ org.fisco.bcos.sdk.demo.perf.PerformanceTable remove 10000 500 1

Count:10000

Tps:500

img

查询

java -cp ‘conf/:lib/:apps/’ org.fisco.bcos.sdk.demo.perf.PerformanceTable query 30 6 1

Count:30

Tps:6

img

遇到的问题

在执行压力测试的时候,执行下面这部分码出现了问题

java -cp “apps/:lib/:conf/” org.fisco.bcos.sdk.demo.codegen.DemoSolcToJava com.exall

Exception in thread “main” java.lang.NullPointerException

at org.fisco.bcos.sdk.demo.codegen.DemoSolcToJava.compileSolToJava(DemoSolcToJava.java:85)

at org.fisco.bcos.sdk.demo.codegen.DemoSolcToJava.main(DemoSolcToJava.java:61)

.NullPointerException

at org.fisco.bcos.sdk.demo.codegen.DemoSolcToJava.compileSolToJava(DemoSolcToJava.java:85)

at org.fisco.bcos.sdk.demo.codegen.DemoSolcToJava.main(DemoSolcToJava.java:61)

然后仔细阅读这个指令的含义,发现是遍历整个文件夹找到带.sol后缀的文件转换为可执行的java文件,由于当前目录下没有.sol后缀的文件,所有会报错,没有需要转换的就不用理这条命令了

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

终有链响

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值