Наблюдения после замены Mosquitto на NanoMQ

Тут в зигбишном чатике недавно обсуждали MQTT брокеров и переезд с популярного Mosquitto на более производительный EMQX.

Мне на месте не сиделось, и я решил поэкспериментировать. Только вместо EMQX я поставил NanoMQ — младшего брата EMQX от тех же разработчиков.

В плане производительности меня и Mosquitto полностью устраивал, но NanoMQ подкупил наличием вебхуков. Есть у меня одно приложение, которое по MQTT нормально данные принимать не умеет, но зато с вебхуками проблем нет.

Так вот, переезд успешно состоялся и я из любопытства пошел посмотреть, что там с производительностью. Специально каких-то замеров не делал, но из системы мониторинга можно вытащить какие-никакие статистические данные. Система мониторинга периодически подключается к MQTT серверу, забирает последнее сообщение из топика hass/status и отключается. При этом время, затраченное на всё про всё, замеряется и логируется.

NanoMQ оказался на 130 мс быстрее. По крайней мере вот в таком всратом синтетическом тесте. 130 мс, по сути, ни на что не влияют, хотя чем больше сообщений брокер обрабатывает и чем медленнее железо, тем ощутимее будет разница.

С Mosquitto обработка занимает 0.48 секунд, а с NanoMQ 0.35

Но не надо срочно менять Mosquitto на NanoMQ 🙂 В моем «тесте» много времени затрачивается на установление соединения и подписывание на топик, а Home Assistant и Zigbee2MQTT выполняют эти операции только один раз при старте. То есть после полной загрузки обмен сообщениями происходит гораздо быстрее.

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

Была ли статья полезна?

Хотите сказать спасибо? Кофе автору — ваша благодарность.

На кофе
Подписка на новые статьи

Уведомления, как только в блоге появится что-нибудь интересненькое.

Подписываясь, вы даете согласие на обработку персональных данных.