Hi,
I have been doing some performance tests with kafka cluster for my project.
I have a question regarding the send call and the 'acks' property of
producer. I observed below numbers with below invocation of send call. This
is a simple fire and forget call.
producer.send(record);
The topic has 5 partitions and I see below results with different acks
value and replication factor. The kafka cluster has 5 nodes running with
default values and using local disk
*acks Replication factor=1
Replication factor=3*
0 1330k msgs/sec
1260k msgs/sec
1 1220k msgs/sec
1200k msgs/sec
-1(all) 1220k msgs/sec
325k msgs/sec
As you can see as the acks value changes from 0 to all, the producer
throughput decreases. What I am not able to understand is that if the
producer send call is fire and forget in nature and producer is not waiting
for any acknowledgements then why does the producer throughput drops as we
move to stronger acks guarantees?
Any insights into how acks and producer send call works in Kakfa would be
greatly appreciated.
Thanks,
Abhishek