Назад | Перейти на главную страницу

Увеличить максимальное количество потребителей на RabbitMQ

Я запускаю один экземпляр RabbitMQ на довольно большом сервере (32 ГБ ОЗУ, твердотельный накопитель Duel, Octa Core Intel и т. Д.), И у меня есть большое количество приложений, публикующих и использующих RabbitMQ без проблем.

Сегодня утром при развертывании другого приложения оно просто не запускалось с жалобами на то, что не может подключиться. Я уменьшил количество потребителей в своем приложении, и оно отлично подключилось. Глядя на мою панель управления RabbitMQ, я вижу, что количество потребителей составляет 900; снова увеличивая количество потребителей в моем приложении, и приложение выдает всевозможные исключения, не имея возможности подключиться к RabbitMQ.

Итак, глядя на количество потребителей, которое привязано к 900, и на поведение, которое я наблюдаю, я предполагаю, что достиг некоторого потребительского лимита.

Сервер простаивает на 1% и, глядя на доступные процессы Erlang, я вижу 1048576 available, поэтому на сервере осталось много места.

Как мне увеличить этот искусственный лимит в 900 потребителей?

Вероятно, вы достигли максимального количества файловых дескрипторов. Я полагаю, вы используете Linux, и многие дистрибутивы по умолчанию устанавливают этот ulimit равным 1024. Когда RabbitMQ достигает этого предела, он не может принимать больше подключений.

На веб-сайте RabbitMQ есть статья о том, какие параметры сети вы можете / должны настраивать, в частности как увеличить файловые дескрипторы ulimit.

Кажется, что узел RabbitMQ просто не может обрабатывать больше подключений, решил это путем кластеризации RabbitMQ.