gpt4 book ai didi

apache-kafka - Kafka - 设置高 linger.ms 和 batch.size 没有帮助

转载 作者:行者123 更新时间:2023-12-05 04:53:30 26 4
gpt4 key购买 nike

我正在努力提高 Kafka 生产者的吞吐量,我们有 CSV 报告正在处理并发布到 Kafka 主题。使用默认的 Kafka 设置,我们获得了平均 300-500 kbps Kafka 吞吐量。为了提高吞吐量,我尝试使用 linger.msbatch.size 测试一些组合,但没有帮助。

尝试过

"linger.ms= 30000","batch.size= 1000000","buffer.memory=16777216"
"linger.ms= 40000","batch.size= 1500000","buffer.memory=16777216"

甚至尝试使用较小的 linger.ms 和 batch.sizelinger.ms = 200, batch.size=65000

但吞吐量仍然在 150-200 kbps 左右

但吞吐量刚刚下降到 100-150kbps。

Kafka 主题有 12 个分区。

ack is all, and compression is snappy

欢迎提出任何建议。

最佳答案

有综合white paper来自 Confluent,它解释了如何增加吞吐量以及要查看哪些配置。

基本上,您已经通过增加 batch.size 和调整 linger.ms 完成了正确的步骤。根据您对潜在数据丢失的要求,您还可以减少重试次数。作为提高吞吐量的一个重要因素,您应该在生产者中使用 compression.type,同时在代理级别设置 compression.type=producer

请记住,Kafka 会随着分区进行扩展,这只有在您的集群中有足够多的代理时才会发生。有很多分区,所有分区都位于同一个代理上不会增加​​吞吐量。

总而言之,白皮书提到了以下生产者配置以提高吞吐量:

batch.size: increase to 100000 - 200000 (default 16384)
linger.ms: increase to 10 - 100 (default 0)
compression.type=lz4 (default none)
acks=1 (default 1)
retries=0 (default 0)
buffer.memory: increase if there are a lot of partitions (default 33554432)

请记住,最终,每个集群的行为都不同。此外,每个用例都有不同的消息结构(数量、频率、字节大小……)。因此,了解上述生产者配置并在您的实际集群上测试它们的敏感性非常重要。

关于apache-kafka - Kafka - 设置高 linger.ms 和 batch.size 没有帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66045267/

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