Hi all, my kafka cluster is composed of three brokers with each have 8core cpu and 8g memory and 1g network card. with java async client,I sent 1000000 messages with size of 1024 bytes per message ,the send gap between each sending is 20us,the consumer’s config is like this,fetch.min.bytes is set to 1, fetch.wait.max.ms is set to 100. to avoid the inconformity bewteen two machines,I start producer and consumer at the same machine,the machine’s configurations have enough resources to satisfy these two clients.
I start consumer before producer on each test,with the sending timestamp in each message,when consumer receive the message,then I can got the consumer delay through the substraction between current timesstamp and sending timestamp. when I set acks to 0,replica to 2,then the average producer delay is 2.98ms, the average consumer delay is 52.23ms. when I set acks to 1,replica to 2,then the average producer delay is 3.9ms,the average consumer delay is 44.88ms. when I set acks to -1, replica to 2, then the average producer delay is 1782ms, the average consumer delay is 1786ms. I have two doubts,the first is why my consumer's delay with acks settled to 0 is logger than the consumer delay witch acks settled to 1. the second is why the delay of producer and consumer is so big when I set acks to -1,I think this delay is can not be accepted. and I found this delay is amplified with sending more messages. any feedback is appreciated. thanks