2010-11-03 3 views
0

Мы запускаем последнюю версию RabbitMQ 2.1.1 на сервере Windows и используя .Net-клиент. Мы проводим тест следующим образом: публикация 500000 сообщений на транзитный недолговечный обмен разветвлением, клиент использует очередь автозапуска. Есть только одна очередь. Издатель отправляет ~ 10 тыс. Сообщений в секунду. После отправки всех сообщений он отключается. Инструмент rabbitmqctl показывает, что размер очереди равен 0, но приемник все еще получает сообщения в течение нескольких секунд, он получил только 60% сообщений. Вы знаете, почему существует такая задержка и как ее минимизировать?Получение сообщения RabbitMQ медленнее, чем публикация

Cheers!

ответ

1

Если вы используете basic.consume с no_ack = True (отключенные подтверждения), сервер просто отправит все сообщения, которые он имеет.

Поведение наблюдается, когда сервер отправил все сообщения вашему потребителю (поэтому очередь пуста), но они могут быть все еще буферизованы в сети где-то или у вашего потребителя.

Смежные вопросы