我有一个kafka制作人属于客户端-“p1”和50 MBps的配额。
现在,我使用“bin/kafka-producer-perf-test.sh”测试了我的生产者的性能,当写入没有副本的分区时,我能够获得接近50 MBps的吞吐量。
我在具有三个副本的分区上尝试了相同的实验。但是这次吞吐量降低到30 MBps。
我的问题是,即使有复制品,kafka不应该允许生产商仍然获得50Mbps的吞吐量吗?系统中没有其他运行,所以我不确定为什么会发生这种情况?
您是否更改了生产者的acks
配置?从您的描述来看,似乎acks
被设置为all
,因此生产者等待发送的数据将在三个影响吞吐量的代理之间复制。如果您没有更改acks
,请尝试将其设置为0
,因此生产者根本不会等待来自服务器的任何确认,只是为了查看它是否会影响吞吐量。