Почему низкая скорость публикации сообщений в очередь RabbitMQ?



@alexartamonov

Добрый день

При одиночной отправки сообщений в RabbitMQ скорость не поднимается выше 20-25 сообщений в секунду.
Если использовать пакетную отправку — все быстро (30к сообщений в секунду легко принимает).
В чем может быть причина?


Решения вопроса 0


Ответы на вопрос 2



@yarkin

Всё зависит от того какие параметры отказоустойчивости применяются. В RabbitMQ работа одного канала (channel) синхронна, нет параллельной обработки команд. Если есть ожидание подтверждения от сервера и требование записи данных на диск (а RabbitMQ, если ничего не изменилось за последние годы, аггрегирует запись в батчи, чтобы уменишить кол-во IOPS на диск, то есть какое-то ожидание), то это увеличивает временя одной команды. Плюс сетевое RTT.
Если надо посылать как можно больше — открывайте много каналов. Ради интереса попробуйте потестировать на простой очереди в памяти (это должно уменьшить время обработки одной команды).



@dimonchik2013

Добавить комментарий

Ваш адрес email не будет опубликован.