我有一个配置有 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)
增加订购者数量会减少被拒绝交易的数量。这看起来像排序程序中的缓冲区限制。
Fabric 声称有大约 1000 TPS,但我不能超过 90 TPS(使用链码更新状态)。任何帮助表示赞赏。