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

Reply via email to