0

나는 코드의 다음과 같은 간단한 조각이 있습니다봄 클라우드 스트림 - 카프카 바인더의 성능

private int i = 0; 

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

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

을 다음과 같은 속성 :

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 

내가 단일 파티션으로 로컬 카프카 항목이를 96 k 메시지. kafka 라이브러리에서 제공하는 간단한 kafka 소비자는 약 4 초에서 이러한 메시지를 소비합니다.

그러나 위의 코드는 1 분에 가깝습니다.

enter image description here

분명히, 우리의 응용 프로그램에 대한 관심은, 사람이 전에이 발생했습니다입니까? 내가 여기서 뭔가를 놓치고 있니?

Visual VM에서 아무 것도 표시하지 않습니다.

PS : 자동 커밋을 시도했지만 여전히 성능이 저하되었습니다.

답변

1

https://github.com/spring-cloud/spring-cloud-stream-binder-kafka에 힘내 문제를 열면 가장 좋을 것이라고 생각합니다.

또한 측정을 반복 할 수 있도록 사용중인 버전과 메시지 크기를 알려주십시오. 감사.

편집 :이 맥 OS (지금까지 시에라 엘 캐피 재현)와 0.9 클라이언트) @Marius Bogoevici의 연구에

+0

버전 1.1.0.release를 사용하고 있습니다. 메시지 크기는'payload = byte [723]'이다. – ltalhouarne

관련 문제