Kafka имеет более высокую пропускную способность в режиме хотя бы один раз, чем в режиме не более одного раза, как это может быть? - PullRequest
0 голосов
/ 14 июля 2020

Я экспериментирую с kafka и сравниваю производительность хотя бы один раз с производительностью не более одного раза. Однако из моих тестовых прогонов кажется, что хотя бы один раз пропускная способность выше, чем максимум один раз? Это не имеет смысла, поскольку хотя бы один раз используется подтверждение et c. Ниже приведены настройки, которые я использую.

Не более одного раза я использую следующие настройки:

Производитель

properties.put("acks", "0");
properties.put("retries", 0);

Потребитель

properties.put("enable.auto.commit", "true");

Хотя бы один раз я использую следующие настройки:

Производитель

(Standard settings)

Потребитель

properties.put("enable.auto.commit", "false");

И я делаю

kafkaConsumer.commitSync();

После каждого опроса ConsumerRecords

Как выполняются измерения

На моем испытательном стенде я измеряю два значения :

  1. (Пропускная способность) Количество сообщений, получаемых потребителем каждую секунду
  2. (Задержка) Средняя задержка для сообщений, получаемых потребителем каждую секунду

Когда я запускаю Kafka в режиме не более одного раза, задержка выше, а пропускная способность ниже

...