【问题标题】:Orderer not found error while sending transaction at high rate in Hyperledger Fabric在 Hyperledger Fabric 中以高速率发送交易时,Orderer 未发现错误
【发布时间】:2019-07-10 10:18:28
【问题描述】:

我有一个配置有 1 个 Org、2 个 Peers、5 个 Orderers(Raft 集群)的 Hyperledger。该网络有一个带有简单链码的通道。

在使用 Hyperledger Caliper(最多 7 个客户端)向网络发送交易时,它可以正常处理每秒较少的交易数。当我将 TPS 增加到 60 以上时,它会为某些事务引发以下错误。

2019-07-10T08:20:58.651Z - error: [Remote.js]: Error: Failed to connect before the deadline URL:grpcs://orderer2-hlf:7050
2019-07-10T08:20:58.652Z - error: [Orderer.js]: Orderer grpcs://orderer2-hlf:7050 has an error Error: Failed to connect before the deadline URL:grpcs://orderer2-hlf:7050 
(node:585) UnhandledPromiseRejectionWarning: Error: Failed to connect before the deadline URL:grpcs://orderer2-hlf:7050
    at checkState (/opt/caliper/node_modules/fabric-client/node_modules/grpc/src/client.js:833:16)
(node:585) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 42)

增加订购者数量会减少拒绝交易的数量。这看起来像是 orderer 中的缓冲区限制。

Fabric 声称有大约 1000 TPS,但我不能超过 90 TPS(使用链码更新状态)。任何帮助表示赞赏。

【问题讨论】:

    标签: hyperledger-fabric raft hyperledger-caliper


    【解决方案1】:

    我认为没有人可以直接回答您的问题。 Fabric 论文使用一些非常强大的机器(我认为每个节点大约 32 个 CPU 内核)进行了测量。并且由于当时 Raft 还没有实现,所以它使用了 Kafka 排序。

    您有两个(不相互排斥)选择:水平扩展排序服务(更多 Raft 节点)和/或垂直扩展(更强大的机器)。

    【讨论】:

      【解决方案2】:

      尝试更多硬件规格 4 个或更多 CPU 8 GB 或更多 GB 内存

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-21
        • 1970-01-01
        • 1970-01-01
        • 2017-10-05
        • 1970-01-01
        • 2018-04-07
        • 1970-01-01
        相关资源
        最近更新 更多