我试图确定在aws上的kafka集群设置示例中可以实现的最大吞吐量。我在两个ec2示例上配置了2个kafka代理,并尝试使用producerperformance工具来监视吞吐量,如下所示。
./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作为一个参数传递给这个——吞吐量https://engineering.linkedin.com/kafka/benchmarking-apache-kafka-2-million-writes-second-three-cheap-machines )
当我们运行脚本时,我们得到一些示例输出,比如821557条记录/秒(78.3 mb/秒)。这个值与我们前面设置的吞吐量参数有什么关系?
谢谢您。
1条答案
按热度按时间hgqdbh6s1#
如果
throughput
设置为-1时,kafka不会对perf工具执行任何限制操作。相反,如果设定了,Kafka会尽最大努力让测试程序集尽可能接近这个目标。假设吞吐量设置为1000,那么perf工具大约每秒发送1000条记录。在吞吐量为-1的测试中,测试显示一个生产者示例每秒可以发送821557条记录。根据带宽资源和平均记录大小,您可能会找出瓶颈。