Сколько сообщений может обработать сервер, выступающий в роли клиента MQTT

У меня есть приложение для Интернета вещей. Где для связи использую протокол mqtt. Я использую Emqttd (http://emqtt.io/) в качестве брокера mqtt. Теперь все мои устройства, а также мой сервер узла подключены к MQTT Broker в качестве клиента. Всякий раз, когда устройству необходимо обновить свой статус, оно публикуется по определенной теме, и мой сервер узла прослушивает все темы. Но боюсь, что если нет. сообщений в секунду увеличивается, сможет ли мой сервер обрабатывать все эти сообщения и обновлять их статусы в базе данных? есть ли предел для нет. сообщений, которые клиент может обрабатывать каждую секунду? Или есть лучший способ обновить статус моего устройства в базе данных.


person Daga Arihant    schedule 15.12.2016    source источник
comment
Зависит от спецификаций вашего клиента. У меня есть одноядерное устройство ARM с частотой 400 МГц, которое может отправлять ~ 1000 сообщений через mqtt в секунду. Код написан на C ++, но я думаю, что на более мощном устройстве вы сможете достичь лучших результатов с помощью node. Если вы думаете, что ваш сервер не сможет обрабатывать входящие сообщения, вам стоит взглянуть на кластеризацию клиента mqtt узла.   -  person Tobi    schedule 15.12.2016
comment
Вам нужно будет протестировать его производительность / пропускную способность на представителе развертывания вашей целевой среды. В этом нет ничего необычного - это то, что вам нужно сделать для любого сервера / сетевой системы / службы, которую вы хотите масштабировать.   -  person barny    schedule 15.12.2016


Ответы (1)


Брокер MQTT может обрабатывать неограниченное количество подключений. Этого можно добиться, настроив сервер, на котором установлен брокер. При настройке системы следует учитывать следующие параметры: 1. Количество открытых портов: этого можно добиться, увеличив ulimit сервера. 2. Количество запущенных фоновых процессов должно быть как можно меньше.

person Arbaz Alam    schedule 20.12.2016
comment
У брокеров есть пределы производительности, как и у любого программного обеспечения. - person Gambit Support; 25.01.2017