Почему потребительские показатели Kafka медленные?

У меня есть одна простая тема и один простой потребитель и производитель Kafka, использующий конфигурацию по умолчанию.

Программа очень простая, у меня две темы.

В продюсере он продолжает отправлять 16-байтовые данные.

И на стороне потребителя, он продолжает получать.

Я обнаружил тот факт, что пропускная способность для производителя составляет примерно 10 МБ / с, это нормально.

Но пропускная способность для потребителя составляет всего 0,2 МБ / с. Я отключил все журналы отладки, но это не делает его лучше. Тест выполняется на локальной машине. Любой орган имеет представление о том, что происходит не так? Спасибо!

Код, который я использовал ниже: Производитель:

KafkaProducer producer = new KafkaProducer(props);
int size = 16;
byte[] payload = new byte[size];
String key = "key";
Arrays.fill(payload, (byte) 1);
ProducerRecord record = new ProducerRecord("test",0,key.getBytes(),payload);
while(true){
producer.send(record);
}

Потребитель:

Properties consumerProps = new Properties();
consumerProps.put("zookeeper.connect", "localhost:2181");
consumerProps.put("group.id", "test");
ConsumerConnector consumer = Consumer.createJavaConsumerConnector(new ConsumerConfig(consumerProps));
Map<String, Integer> topicCountMap = new HashMap<String, Integer>();
topicCountMap.put("test", 1);
Map<String, List<KafkaStream<byte[], byte[]>>> consumerMap = consumer.createMessageStreams(topicCountMap);
List<KafkaStream<byte[], byte[]>> streams = consumerMap.get("test");
ConsumerIterator<byte[], byte[]> it = streams.get(0).iterator();
while(it.hasNext()){
    it.next().message();
}

Ответы на вопрос(0)

Ваш ответ на вопрос