【发布时间】:2019-06-14 18:55:32
【问题描述】:
我在计算生产者吞吐量时发现了这个article。 Jay Kreps 在其中说,对于单个 producer 线程和 3x 同步分区复制,他每秒获得 421,823 条记录。他的记录是每条 100 字节,他有 6 个分区和 6 个代理。他还使用基于回调的发送,这意味着他可以保证消息的顺序。
我使用 Kafka 作为服务,运行单个代理、6 个分区、1x 复制。我发送大致相同大小的记录,我得到 23 条记录/秒。与 Jay 不同的是,我使用模式注册表进行 avro 序列化。我已经尝试了 Kafka Producer API 提供的所有类型的发送:
- 致电
.get了解未来 - 使用回调发送消息
- 在没有回调的情况下发送消息
我什至远不接近上面给出的数字。我想保证消息的顺序,所以我希望至少有一个回调与记录一起传递。
我知道追逐他的基准会很困难,这不是我的目标。我只是觉得我缺少一些基本的东西。我可以请教一些建议吗?我将提供尽可能多的额外上下文。
【问题讨论】:
-
如果你使用
kafka-producer-perf-test脚本,你会得到什么? -
@cricket_007 这帮助我验证了我使用的 Kafka 能够推送大约 900 条记录/秒的 100 字节
-
鉴于你找到的文章是很多很多 Kafka 之前的版本,这似乎很低。
标签: apache-kafka