0

私は、コードの次のような単純な一枚持っている:私はで単一のパーティションを持つローカルカフカトピックを持っている春の雲の流れ - カフカのバインダー性能

spring.cloud.stream.bindings.input.consumer.headerMode=raw 
spring.cloud.stream.kafka.binder.autoCreateTopics=false 
spring.cloud.stream.kafka.bindings.input.consumer.autoCommitOffset=false 
spring.cloud.stream.bindings.input.destination=test6 
spring.cloud.stream.bindings.input.group=testGroup50 
spring.cloud.stream.bindings.input.partitioned=false 

private int i = 0; 

    @StreamListener(Sink.INPUT) 
    public void processMessage(Message<?> message) { 
     i++; 
    } 

    @Scheduled(fixedDelay=5000) 
    private void scheduled(){ 
     LOG.info("Messages consumed: " + i); 
    } 

、次のプロパティを96 kメッセージ。 kafkaライブラリによって提供される単純なカフカ消費者は、これらのメッセージをおおよそ4秒で消費します。

ただし、上記のコードは1分に近いです!

enter image description here

明らかに、それは我々のアプリケーションのための懸念は、誰もがこの前に経験しているのですか?私はここに何かを逃していますか

Visual VMは何もフラグを立てていません。

PS:私はちょうどオートコミットを試みましたが、私はまだひどいパフォーマンスを見ています。

答えて

1

https://github.com/spring-cloud/spring-cloud-stream-binder-kafkaでGit Hubの問題を開いた方が良いと思います。

また、測定を繰り返すことができるように、使用しているバージョンと使用しているメッセージサイズをお知らせください。ありがとう。

編集:https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/issues/71での議論あたりのように、これはMacOSのに特異的であるように思われる(これまでのシエラとエルキャピタンに再現)と0.9クライアント)@Marius Bogoeviciの研究に

+0

バージョン1.1.0.releaseを使用しています。メッセージサイズは 'payload = byte [723]'です。 – ltalhouarne

関連する問題