2016-09-30 3 views
0

우리는 Spring AMQP를 사용하여 rabbitmq에서 메시지를받는 Java 응용 프로그램을 가지고 있습니다. 일부 큐의 경우 소비자 수가 증가하지 않아 메시지 전달 속도가 느려집니다. 예 : 최대 소비자가 50으로 설정되었지만 9000 개의 메시지로드에 대해 대부분의 시간 동안 소비자 수는 6으로 유지되었습니다.RabbitMQ 소비자가 합산되지 않음

그러나 다른 대기열에서는 그렇지 않습니다. 나는 소비자 수가 35 명까지 다른 대기 행렬에 도달했다.

우리는 최대 소비자를 설정하기 위해 SimpleMessageListenerContainer의 setMaxConcurrentConsumers API를 사용하고 있습니다.

누군가 이해할 수 있습니까?


는 구성 : 동시 소비자의
수 : 최대 동시 소비자의 4
수 : 50

답변

0

이런 질문을, 당신은 항상 구성을 제시해야합니다. 완전한 세부 사항으로 질문을 편집하십시오.

구성에 따라 다릅니다. 기본적으로 새 소비자는 10 초마다 한 번만 추가되며 기존 소비자는 간격없이 10 개의 메시지를받는 경우에만 추가됩니다.

그래도 질문에 답하지 않으면 DEBUG 로깅을 설정하십시오. 그 점을 이해할 수 없다면 pastebin이나 dropbox 같은 곳의 로그 (적어도 startConsumerMinInterval 밀리 초를 포함)를 게시하십시오.

+0

답장을 보내 주셔서 감사합니다. 게리! 우리가 사용하고있는 설정으로 질문이 업데이트되었습니다. 대기열에 9000 개의 메시지가 있으면 메시지 전달 속도를 높이기 위해 더 많은 소비자를 추가해서는 안됩니까? 6 명의 소비자의 경우 배달 속도는 0.60/s입니다. 각 소비자가 0.10/s (1msg/10sec)로 배송한다고 가정 할 수 있습니까? 메시지가 대기열에 쌓이게되었습니다. 어쨌든, 나는이 시나리오를 DEBUG level on으로 재현하려고 노력할 것이다. –

관련 문제