MQTT publish загружает систему

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

Ответить
amelnyk
Сообщения: 78
Зарегистрирован: Вт ноя 22, 2016 12:17 am
Благодарил (а): 13 раз
Поблагодарили: 2 раза

MQTT publish загружает систему

Сообщение amelnyk » Ср июн 19, 2019 12:55 pm

Бьюсь об стену головой уже который день... прошу помочь.
На винде крутитится Мажордомо, на этом же компе запущен MQTT брокер mosquitto. К этому брокеру подключены 5 контроллеров esp8266, тут всё работает чудесно.

В Мажородоме установлен модуль MQTT. Сделал привязку около 10 знаячений к свойствам обьектов. Мажордом коннектится, слушает свои подписки, и тут всё хорошо.

Но, как только Мажордом начинает паблишить в MQTT об измененных значениях (для теста просто клацаю переключатель несколько раз, который постит типа "/rele01/0", "/rele01/1" )

После чего процесс Apache.exe начинает дико жрать процессор, нагружает его до 100%, система начинает дико тупить, ну как бы нерабочая становится.

Если вырубить MQTT брокер, и так же клацать переключателями, проблемы не возникает. Как только включаю брокер и мажордом начинает ему постить, всё...
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: MQTT publish загружает систему

Сообщение nick7zmail » Чт июн 20, 2019 12:28 pm

По идее апач в этом процессе вообще не задействован. Это очень странное поведение. А что в логах брокера? Самого апача?
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 694 раза
Контактная информация:

Re: MQTT publish загружает систему

Сообщение directman66 » Чт июн 20, 2019 12:30 pm

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

И кстати тоже висит апач, видимо из за того, что нет ресурсов. Перезапуск апача решает проблему, что очень странно.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: MQTT publish загружает систему

Сообщение nick7zmail » Чт июн 20, 2019 12:39 pm

directman66 писал(а):
Чт июн 20, 2019 12:30 pm
И кстати тоже висит апач, видимо из за того, что нет ресурсов. Перезапуск апача решает проблему, что очень странно.
Да не, не странно. Переполняется из за цикличности в МД оператива, занимаются ресурсы, когда ресурсы превысили норму - приложение убивается. Когда его перезапускаешь - выделенная память высвобождается, и всё продолжает работать. Тут как раз всё логично.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
JackOfShadows
Сообщения: 104
Зарегистрирован: Ср янв 09, 2019 8:37 pm
Благодарил (а): 23 раза
Поблагодарили: 26 раз

Re: MQTT publish загружает систему

Сообщение JackOfShadows » Чт июн 20, 2019 12:43 pm

nick7zmail писал(а):
Чт июн 20, 2019 12:39 pm
directman66 писал(а):
Чт июн 20, 2019 12:30 pm
И кстати тоже висит апач, видимо из за того, что нет ресурсов. Перезапуск апача решает проблему, что очень странно.
Да не, не странно. Переполняется из за цикличности в МД оператива, занимаются ресурсы, когда ресурсы превысили норму - приложение убивается.
Освобождать память - не вариант?
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 694 раза
Контактная информация:

Re: MQTT publish загружает систему

Сообщение directman66 » Чт июн 20, 2019 12:58 pm

Что за устройства у вас? Они реально спамят в сеть? Подпишитесь через mosqutto_sub и понаблюдайте.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: MQTT publish загружает систему

Сообщение nick7zmail » Чт июн 20, 2019 1:19 pm

JackOfShadows писал(а):
Чт июн 20, 2019 12:43 pm
Освобождать память - не вариант?
Там я прокомментировал просто почему рестарт апача спасает в том случае. Вам надо понять для начала 1) тот же у вас случай или нет 2) что у вас действительно творится в сети. Вполне возможна где-то ошибка в коде или что нить подобное. (как на самих устройствах так и в МД).
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
amelnyk
Сообщения: 78
Зарегистрирован: Вт ноя 22, 2016 12:17 am
Благодарил (а): 13 раз
Поблагодарили: 2 раза

Re: MQTT publish загружает систему

Сообщение amelnyk » Чт июн 20, 2019 1:40 pm

По идее апач в этом процессе вообще не задействован. Это очень странное поведение. А что в логах брокера? Самого апача?
в логах ниче нового, ни в апаче, ни в брокере. ну, тоесть брокер медленно тормозя, но продолжает работать. видно что от мажордома приходят коннекшны и тп, но это происходит с большой задержкой.
Имхо запускается циклический цикл. Мажор принимает новые значения, получаемые от устройств, и по ним же отрабатывает новые действия. Я с таким сталкивался с лампочками. Пока как решить, не знаю.
увы, но нет. подписка по другому пути, отличной от той, куда он постит значения. в логах брокера видно, что нету обратной отсылки значения клиенту мажордома
Да не, не странно. Переполняется из за цикличности в МД оператива, занимаются ресурсы, когда ресурсы превысили норму - приложение убивается. Когда его перезапускаешь - выделенная память высвобождается, и всё продолжает работать. Тут как раз всё логично.
в моём случае оперативка не переполняется. загружается только процессор. через какой-то время его отпустит и он вернется в нормальный режим. но это может быть и минут 10. сомтря сколько наклацать переключателей.
Что за устройства у вас? Они реально спамят в сеть? Подпишитесь через mosqutto_sub и понаблюдайте.
вы про какие устройства? со стороны мажордома - это обычные выключатели, к изменению статуса которых привязан путь в MQTT.
другие контроллеры, что подклбючены к брокеру сеть не спамят, там значения раз в минуту приходят. ну и я проверял, отключал их и тп. проблемы у мажордома нету, когда он просто слушает свои подписки. Проблемы начинаются непосредственно при вызове метода mqttPublish. в нём он создает новый коннекшн к брокеру(при каждом изменении значения переключателя ). И видимо когда он это делает параллельно в нескольков потоков, тут то и начинается беда.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: MQTT publish загружает систему

Сообщение nick7zmail » Пт июн 21, 2019 6:48 am

Имхо - модуль МКУТТ работает неправильно...я тут посмотрел в лог москито, как он работает и охренел.
При нормальном порядке вещей - создаётся 1 коннект, и постятся/получаются топики. При работе модуля он какого то хрена создаёт новый коннект каждый раз, как отправляет сообщение. Для брокера, по моему, это тихий ужас)))
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
amelnyk
Сообщения: 78
Зарегистрирован: Вт ноя 22, 2016 12:17 am
Благодарил (а): 13 раз
Поблагодарили: 2 раза

Re: MQTT publish загружает систему

Сообщение amelnyk » Пт июн 21, 2019 8:34 am

да, я копался в исходниках. там без вариантов, на каждый publish, новый коннекшн. полагаю использование одного коннекшна помогло бы. но тем не менее, люди ж юзают MQTT модуль и с такой реализацией и им ок... може чего в конфигах покрутить...хз
Ответить