FISCO性能优化
节点日志:/root/fisco/nodes/127.0.0.1/node0/log
发行数量过多,节点异常,NFT转移FISCO失败,nftownerpub地址还是发行者的地址,不是平台的地址,导致后续交易无法继续进行。
配置管理
1 | tx_gas_limit 2147483647 |
机器网络或 CPU 等硬件性能有限:调小 tx_count_limit,或降低业务压力
业务逻辑太复杂,执行区块时 gas 不足:调大 tx_gas_limit。
配置交易池信息
为防止过多交易堆积在交易池内占用太多内存,FISCO BCOS 提供了
[tx_pool].limit
来限制交易池容量
# limit: 限制交易池内可以容纳的最大交易数目,默认为150000,超过该限制后,客户端发到节点的交易会被拒绝。
# notify_worker_num: 交易通知线程数量,默认为 2。
# verify_worker_num: 交易验证线程数量,默认为 2。
1 | [txpool] |
配置共识信息
考虑到 PBFT 模块打包太快会导致某些区块中仅打包 1 到 2 个很少的交易,浪费存储空间,FISCO BCOS 在可变配置
config.ini
的
[consensus]
下引入
min_seal_time
配置项来控制 PBFT 共识打包的最短时间,即:共识节点打包时间超过
min_seal_time
且打包的交易数大于 0 才会开始共识流程,处理打包生成的新区块。
# min_seal_time 默认为 500ms
# min_seal_time 不可超过出空块时间 1000ms,若设置值超过 1000ms,系统默认 min_seal_time 为 500ms
1 | [consensus] |
流量控制
取消流量控制
共识配置
consensus_timeout
:PBFT 共识过程中,每个区块执行的超时时间,默认为 3s,单位为秒,可通过控制台动态调整该参数;
1 | getSystemConfigByKey consensus_timeout |
查看FISCO内存使用情况
1 | cd /root/fisco/nodes/127.0.0.1 |