RAFT订购者与Kafka订购者之间的性能差异(延迟,吞吐量,TPS)

时间:2019-12-29 04:51:48

标签: performance apache-kafka hyperledger-fabric hyperledger raft

有人可以比较使用Kafka的订购者和RAFT订购者之间的性能(延迟,吞吐量,TPS)吗?

我可以在延迟,吞吐量和TPS方面看到相当大的差异。

我在两个不同的VM上尝试了具有相同资源配置的相同设置(唯一的区别是订购系统)。

注意:两个网络中都使用单订购者。Fabric版本:1.4.4

Kafka的订购者比RAFT更有效率。我正在为RAFT和Kafka使用默认配置。

我尝试使用负载生成器,速率为100 TPS。使用Kafka的所有参数都很好(延迟-0.3到2秒),而使用RAFT,延迟逐渐增加2到15+秒,tx失败率也很高。

TPS,吞吐量和延迟方面如此显着差异的原因可能是什么?

如果我做错了,请纠正。

1 个答案:

答案 0 :(得分:0)

对于初学者,我不会使用单个订购者来运行性能测试。这些容错系统在那里处理分布式系统的分布和共识,因此,通过运行单个订购者,您将从根本上消除它们存在的原因。好像您在一条土路上比较两辆跑车,然后想知道哪辆最快。

然后还有其他事情在起作用,例如是否通过TLS连接服务,一般的网络延迟以及正在运行的代理/节点数。

克里斯·弗里斯(Chris Ferris)在发布Raft之前对这两个系统进行了初步的性能分析,它看起来既快又可以处理几乎每秒两倍的事务。您可以在这里阅读他的博客文章:Does Hyperledger Fabric perform at scale?

如果在高负载下运行分布式系统,您还应该注意双花问题和按键冲突。您应该采取必要的步骤来避免这种情况,否则可能导致瓶颈。请参阅this有关冲突的中篇文章,以及Hyperledger Fabric自己的有关设置high throughput network的文档。