如何配置Fabric出块参数来达到“最大”TPS

如何配置Fabric出块参数来达到“最大”TPS

对于参数的了解

在讨论有关最大tps的问题之前,我们首先要了解Fabric出块的四个参数之间是如何工作的。
从结论上,Fabric会优先于PreferredMaxBytes,AbsoluteMaxBytes,MaxMessageCount这三个参数,最后是BatchTimeout。

避免落入batch timeout

我们以如下配置Probe发起对于Fabric的性能测试。

BatchTimeout:20
MaxMessageCount:320
AbsoluteMaxBytes:20
PreferredMaxBytes:20480

得到结果如下:

Chaincode BatchTimeout MaxMessageCount AbsoluteMaxBytes PreferredMaxBytes TPS
sample 20 320 20 20480 414.187180

从tape的log中,我们可以发现最后一个块实际上很大程度的影响了fabric的tps。

Time     5.89s  Block     33    Tx    320
Time     5.98s  Block     34    Tx    320
Time     6.04s  Block     35    Tx    320
Time     6.09s  Block     36    Tx    320
Time    24.14s  Block     37    Tx     80
time="2020-12-11T09:27:48Z" level=info msg="Completed processing transactions."
tx: 10000, duration: 24.143673413s, tps: 414.187180

因此,这个发现表明,

推论一:我们最好不要依赖一个过大的batchtimeout值来触发fabric出块。

PreferredMaxBytes,AbsoluteMaxBytes,MaxMessageCount的关系

那么,PreferredMaxBytes,AbsoluteMaxBytes,MaxMessageCount三个参数之间如何相互影响?
我们以如下配置Probe发起对于Fabric的性能测试。

BatchTimeout:20
MaxMessageCount:10,20,40
AbsoluteMaxBytes:20
PreferredMaxBytes:4

得到结果如下:

Chaincode BatchTimeout MaxMessageCount AbsoluteMaxBytes PreferredMaxBytes TPS
sample 20 10 20 4 156.155258
  • 7
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值