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