Мы работаем на одном производственном сервере RabbitMQ (3.7), где около 500 мобильных приложений подключены как производители (MQTT), а около 10 серверных приложений - как потребители.Эти 500 издателей помещают сообщения в основном в одну очередь и реже в другую.
Недавно у нас возникла проблема с всплесками суммированных сообщений во всех наших очередях.Количество суммированных сообщений изменилось от 1 до 1000. Этот всплеск был вызван снижением скорости потребления.
Я устал искать то, что случилось и как устранить всплески в очередях, и я должен ограничить длину очереди или устранить соединения.Но мы не можем ограничивать, мы должны работать лучше.Я посмотрел на использование памяти RabbitMQ, процессор и то же самое для потребителей, все выглядит хорошо, и RabbitMq работал примерно на 50% при общей загрузке памяти.Кроме того, потребители, похоже, не являются узким местом, поскольку после того, как длина очереди увеличилась, скорость потребления стала выше.
У меня есть пара вопросов:
- RabbitMQ предназначен для такогобольшое количество потребителей?
- Я читал, что каждая очередь однопоточная. Возможно ли, что кролик просто не может обработать 500 производителей в одной очереди, а пропускная способность становится ниже?
- Что еще я могу использоватьустранить причину снижения потребительских ставок?Количество потоков в Кролик?
- Что вы решили измерить или протестировать в тестах производительности / производительности сервера RabbitMQ?