Снизить скорость потребления на сервере RabbitMq - PullRequest
1 голос
/ 20 сентября 2019

Мы работаем на одном производственном сервере RabbitMQ (3.7), где около 500 мобильных приложений подключены как производители (MQTT), а около 10 серверных приложений - как потребители.Эти 500 издателей помещают сообщения в основном в одну очередь и реже в другую.

Недавно у нас возникла проблема с всплесками суммированных сообщений во всех наших очередях.Количество суммированных сообщений изменилось от 1 до 1000. Этот всплеск был вызван снижением скорости потребления.

Я устал искать то, что случилось и как устранить всплески в очередях, и я должен ограничить длину очереди или устранить соединения.Но мы не можем ограничивать, мы должны работать лучше.Я посмотрел на использование памяти RabbitMQ, процессор и то же самое для потребителей, все выглядит хорошо, и RabbitMq работал примерно на 50% при общей загрузке памяти.Кроме того, потребители, похоже, не являются узким местом, поскольку после того, как длина очереди увеличилась, скорость потребления стала выше.

У меня есть пара вопросов:

  • RabbitMQ предназначен для такогобольшое количество потребителей?
  • Я читал, что каждая очередь однопоточная. Возможно ли, что кролик просто не может обработать 500 производителей в одной очереди, а пропускная способность становится ниже?
  • Что еще я могу использоватьустранить причину снижения потребительских ставок?Количество потоков в Кролик?
  • Что вы решили измерить или протестировать в тестах производительности / производительности сервера RabbitMQ?

enter image description here

...