Kafka ProducerPerformance 工具中的吞吐量参数

Throughput Parameter in ProducerPerformance Tool in Kafka

我正在尝试确定我可以在 AWS 上的示例 Kafka 集群设置中实现的最大吞吐量。我在两个 EC2 实例上配置了 2 个 Kafka 代理,并尝试使用 ProducerPerformance Tool 来监控吞吐量,如下所示。

./bin/kafka-run-class.sh org.apache.kafka.tools.ProducerPerformance --throughput=10000--topic=TOPIC--num-records=50000000 --record-size=200 --producer-props bootstrap.servers=服务器 buffer.memory=67108864 batch.size=64000

如果您能帮助我澄清以下问题,我将不胜感激。

  1. 吞吐量参数是什么意思?

在我找到的文档中 这条信息 -- 将最大消息吞吐量限制为 大约 THROUGHPUT messages/sec

但我也注意到 -1 作为参数传递给这个 --throughput。(例如这里 - https://engineering.linkedin.com/kafka/benchmarking-apache-kafka-2-million-writes-second-three-cheap-machines

  1. 当我们 运行 脚本时,我们会得到一些示例输出,例如 821,557 records/sec (78.3 MB/sec)。这个值与我们之前设置的吞吐量参数有什么关系?

谢谢。

  1. 如果 throughput 设置为 -1,Kafka 不会对 perf 工具做任何节流操作。相反,如果已设置,Kafka 会尽力使 TPS 尽可能接近此目标。假设吞吐量设置为 1000,那么 perf 工具大约每秒发送 1000 条记录。

  2. 在吞吐量为 -1 的测试中,测试显示单个生产者实例每秒可以发送 821,557 条记录。根据带宽资源和平均记录大小,您可能会找出瓶颈。