我正在尝试确定我可以在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
如果您能帮助我澄清以下问题,我将不胜感激 .
- 吞吐量参数是什么意思?
在文档中我发现了这个信息 - 将最大消息吞吐量控制在大约THROUGHPUT消息/秒
但我也注意到-1作为参数传递给了--throughput . (例如这里 - https://engineering.linkedin.com/kafka/benchmarking-apache-kafka-2-million-writes-second-three-cheap-machines)
- 当我们运行脚本时,我们得到一些示例输出,如821,557条记录/秒(78.3 MB /秒) . 该值如何与我们之前设置的吞吐量参数相关?
谢谢 .
1 回答
如果
throughput
设置为-1,Kafka没有设置,Kafka会尽可能让TPS尽可能接近此目标 . 假设吞吐量设置为1000,那么perf工具大约每秒发送1000条记录 .在吞吐量为-1的测试中,测试显示一个 生产环境 者实例每秒可以发送821,557条记录 . 根据带宽资源和平均记录大小,您可能会找出瓶颈 .