Kafka中ProducerPerformance Tool中的吞吐量参数

时间:2017-07-25 07:18:41

标签: apache-kafka kafka-producer-api

我正在尝试确定我在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 = SERVERS buffer.memory = 67108864 batch.size = 64000

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

  1. 吞吐量参数是什么意思?
  2. 我发现的文档  此信息   - 将最大消息吞吐量限制为大约 THROUGHPUT消息/秒

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

    1. 当我们运行脚本时,我们得到一些示例输出,如821,557条记录/秒(78.3 MB /秒)。该值如何与我们之前设置的吞吐量参数相关?
    2. 谢谢。

1 个答案:

答案 0 :(得分:0)

  1. 如果throughput设置为-1,则Kafka不会对perf工具执行任何限制操作。相反,如果它已经设定,Kafka会尽可能地使TPS尽可能接近这个目标。假设吞吐量设置为1000,那么perf工具大约每秒发送1000条记录。

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