Потребитель Sarama Kafka не использовал всю пропускную способность - PullRequest
0 голосов
/ 25 января 2019

Мы используем karaka-console-customer от Sarama для запуска теста производительности.

Без изменения какой-либо конфигурации Sarama, вышеуказанная программа использует до 1/4 полосы пропускания экземпляра EC2.Если мы создадим еще 3 sarama.NewConsumer внутри одной и той же программы, и каждая из них будет использовать неперекрывающееся подмножество разделов и отправлять сообщения на один и тот же канал, эта программа будет использовать всю полосу пропускания.

Исходя из этого, мы знаем

  • Наша kafka может поддерживать полную пропускную способность для насыщения полосы пропускания EC2
  • Канал Go может поддерживать отправку / запись сообщений с полной пропускной способностью
  • Это не ограничивает процессор при использовании только 1sarama consumer

Больше ничего не работает, и профилирование блока pprof показывает, что блокируются только chan / select, а профилирование мьютекса ничего не показывает.Мы понятия не имеем, что ограничивает уровень потребления при использовании одного потребителя сарамы.

Кто-нибудь сталкивался с этим?

...