0

I have a kafka producer belonging to client with clientid - "p1" and quota as 50 MBps.

Now I tested the performance of my producer using "bin/kafka-producer-perf-test.sh" and I was able to get throughput close to 50 MBps when writing to a partition without a replica.

I tried the same experiment on a partition with three replicas. But this time the throughput got reduced to 30 MBps.

My question is that shouldn't kafka allow the producer to still get a throughput of 50 MBps even in presence of replicas? There is nothing else running in the system, so I am not sure why this is happening?

brokendreams
  • 827
  • 2
  • 10
  • 29

1 Answers1

0

Did you change the acks config of producer? From you description it seems that acks is set to all, so producer waits untill the sent data will be replicated among three brokers which affects throughput. If you didn't change the acks try to set it to 0, so producer will not wait for any acknowledgment from the server at all, just to see if it affects throughput.

streetturtle
  • 5,472
  • 2
  • 25
  • 43
  • I do want an ack from all (synchronous replication). My basic doubt is that since there is nothing else in the network, shouldn't kafka still allow the producer to get a throughput of 50 MBps. – brokendreams May 02 '17 at 17:45