我正在尝试在Hyperledger Fabric v1.2上执行性能测试。使用fabcar链码建立网络。交易到达率以50 RPS为单位。使用Node JS应用程序接受交易请求。事务通过使用this代码在分类帐中添加新变量来执行putState操作。
在较低的RPS(0-20)下,所有事务均成功通过。将交易到达率提高到50后,总交易中约有50%失败并出现错误
d = {} # empty dict
s = 'blah' # str
d[s] = [] # empty list with the name of the str, blah = []
d[s].append("hello there!") # appending to `blah`
print(d[s])
此错误实际上是什么意思?为什么客户无法将认可的交易发送给订购者? 大约20%的用户失败并出现以下错误
Transaction proposal was good
Successfully sent Proposal and received ProposalResponse: Status - 200, message - ""
error: [Remote.js]: Error: Failed to connect before the deadline
error: [Orderer.js]: Orderer grpc://x.x.x.x:7050 has an error Error: Failed to connect before the deadline
error: [client-utils.js]: sendPeersProposal - Promise is rejected: Error:
Failed to connect before the deadline
根据不同的研究论文,Hyperledger Fabric必须能够以高达2000的速率处理请求,为什么会给出这样的结果?
答案 0 :(得分:0)
通过使用fabric-samples存储库中的调用代码,我遇到了同样的问题。我通过更改订单承诺链来解决了这个问题。
我所做的如下:
return checkUser(this.user)
.then(() => return channel.sendTransactionProposal(request))
.then((results) => checkPrposal(results))
.then((results) => submitTrasaction(results))
.then(() => connectEventHub())