gpt4 book ai didi

apache-kafka - Apache Kafka 中的分区数与生产者吞吐量

转载 作者:行者123 更新时间:2023-12-04 17:50:19 25 4
gpt4 key购买 nike

分区数量对 Kafka 中的生产者吞吐量有影响吗?
(我知道分区数是消费者端并行度的上限,但这会影响生产者的性能吗?)

我使用 Kafka 中的生产者性能工具在 AWS 上的 Kafka 集群设置上对此进行了测试。我观察到,对于 3、6 和 20 个分区,集群中的聚合吞吐量大致相似(大约 200 MB/s)。如果您能帮我澄清这个问题,我将不胜感激。

谢谢你。

最佳答案

分两部分回答:

  • 从 Kafka 消费者的角度来看。是的,分区为 Kafka 消费者提供了更高的吞吐量。但是,我发现如果您想要良好的可扩展性,您确实希望最大限度地减少 Kafka 消费者(以及分区)的数量。 Here's a link to a blog我去年写了一个 Kafka IoT 应用程序(见第 2.3 节)
  • 从 Kafka 生产者的角度来看,吞吐量随着分区的增加而下降。上周,我对 Kafka 生产者和不同数量的分区进行了一些基准测试,发现吞吐量随着分区数量的增加而显着下降。要正确“调整”Kafka 集群的大小,唯一的解决方案是增加 Kafka 集群的大小(节点和/或核心),直到获得具有所需分区数量的目标容量。我需要 200 万次写入/秒和 200 个分区(用于消费者端的并发)。对于 6 个节点(每个节点 4 个核心)的集群,我可以使用 6 个分区进行每秒 210 万次写入,但使用 200 个分区只能进行每秒 120 万次写入。在具有 8 个核心节点的 6 节点集群上,我可以获得 6 个分区的 460 万次写入/秒,略高于我的 200 个分区的 240 万次写入/秒的目标吞吐量。我还没有写过关于这些结果的博客,但这里有一个指向当前博客系列的链接 (Anomalia Machina)。

  • 注意:吞吐量也可以通过 (a) 减少复制因子或 (b) 仅写入分区的子集 (!) 来增加,但您可能不需要所有分区。

    关于apache-kafka - Apache Kafka 中的分区数与生产者吞吐量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45558693/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com