当前位置: 首页 > 知识库问答 >
问题:

订购方在Hyperledger结构中高速发送交易时未发现错误

姬墨竹
2023-03-14

我有一个配置有1个组织,2个对等体,5个订单(筏集群)的超级账本。网络有一个带有简单链码的通道。

当使用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(使用链码更新状态)。感谢任何帮助。

共有2个答案

仇经武
2023-03-14

尝试使用更多硬件规格4或更多CPU 8或更多GB RAM的产品

端木高邈
2023-03-14

我认为没有人能直接回答你的问题。Fabric论文介绍了使用一些非常强大的机器(我认为每个节点大约有32个CPU核)进行的测量。它使用Kafka命令,因为当时Raft还没有实现。

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

 类似资料:
  • 问题内容: 我有两个线程: 线程数:1 线程数:2 在这里,a和b被声明为volatile。我不了解如何在a = 1之间创建“先发生”边;y = a; 在x = b之间; 并且b = 1; 我知道通过使用volatile变量可以防止从线程缓存中读取过时的值。但是,可变变量如何才能确保在订购前发生。 具体来说,我不明白这一点: 后续每次读取同一字段之前,都会对易失字段进行写操作。 e头有效吗? 问题

  • null 8 GB RAM DDR4 Ubuntu 19.04内核5.0.0-35-泛型 Docker版本19.03.4 docker-compose版本1.21.0 Peerer和orderer的Docker容器在1.4.3版本中使用Fabric映像,但我最近尝试了,结果是一样的。 我使用Hyperledger Caliper以高发送率对提案进行子化处理,其中一些提案被对等方接受(在执行过程中数

  • web3.eth.sendTransaction()方法向以太坊网络提交一个交易。 调用: web3.eth.sendTransaction(transactionObject [, callback]) 参数: transactionObject:Object - 要发送的交易对象,包含以下字段: from - String|Number: 交易发送方账户地址,不设置该字段的话,则使用web3

  • 向合约发送交易来执行指定方法,将改变合约的状态。 调用: myContract.methods.myMethod([param1[, param2[, ...]]]).send(options[, callback]) 参数: options - Object: 选项,包含如下字段: from - String: 交易发送方地址 gasPrice - String : 可选,用于本次交易的gas

  • 问题内容: 我正在使用POSIX IPC并根据文档-http://man7.org/linux/man- pages/man3/mq_send.3.html mq_send()方法仅发送char *数据,而mq_recv()仅接收字符数据。但是,我想将自定义结构发送到我的味精队列,并且在接收端,我想获取该结构。 样本结构: 那么,有谁知道如何用C语言来实现这一目标? 问题答案: 您只需要传递该结构