MQTT publish загружает систему
Модератор: immortal
-
- Сообщения: 78
- Зарегистрирован: Вт ноя 22, 2016 12:17 am
- Благодарил (а): 13 раз
- Поблагодарили: 2 раза
MQTT publish загружает систему
Бьюсь об стену головой уже который день... прошу помочь.
На винде крутитится Мажордомо, на этом же компе запущен MQTT брокер mosquitto. К этому брокеру подключены 5 контроллеров esp8266, тут всё работает чудесно.
В Мажородоме установлен модуль MQTT. Сделал привязку около 10 знаячений к свойствам обьектов. Мажордом коннектится, слушает свои подписки, и тут всё хорошо.
Но, как только Мажордом начинает паблишить в MQTT об измененных значениях (для теста просто клацаю переключатель несколько раз, который постит типа "/rele01/0", "/rele01/1" )
После чего процесс Apache.exe начинает дико жрать процессор, нагружает его до 100%, система начинает дико тупить, ну как бы нерабочая становится.
Если вырубить MQTT брокер, и так же клацать переключателями, проблемы не возникает. Как только включаю брокер и мажордом начинает ему постить, всё...
На винде крутитится Мажордомо, на этом же компе запущен 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 загружает систему
По идее апач в этом процессе вообще не задействован. Это очень странное поведение. А что в логах брокера? Самого апача?
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: MQTT publish загружает систему
Имхо запускается циклический цикл. Мажор принимает новые значения, получаемые от устройств, и по ним же отрабатывает новые действия. Я с таким сталкивался с лампочками. Пока как решить, не знаю.
И кстати тоже висит апач, видимо из за того, что нет ресурсов. Перезапуск апача решает проблему, что очень странно.
И кстати тоже висит апач, видимо из за того, что нет ресурсов. Перезапуск апача решает проблему, что очень странно.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: MQTT publish загружает систему
Да не, не странно. Переполняется из за цикличности в МД оператива, занимаются ресурсы, когда ресурсы превысили норму - приложение убивается. Когда его перезапускаешь - выделенная память высвобождается, и всё продолжает работать. Тут как раз всё логично.directman66 писал(а): ↑Чт июн 20, 2019 12:30 pmИ кстати тоже висит апач, видимо из за того, что нет ресурсов. Перезапуск апача решает проблему, что очень странно.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 104
- Зарегистрирован: Ср янв 09, 2019 8:37 pm
- Благодарил (а): 23 раза
- Поблагодарили: 26 раз
Re: MQTT publish загружает систему
Освобождать память - не вариант?nick7zmail писал(а): ↑Чт июн 20, 2019 12:39 pmДа не, не странно. Переполняется из за цикличности в МД оператива, занимаются ресурсы, когда ресурсы превысили норму - приложение убивается.directman66 писал(а): ↑Чт июн 20, 2019 12:30 pmИ кстати тоже висит апач, видимо из за того, что нет ресурсов. Перезапуск апача решает проблему, что очень странно.
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: MQTT publish загружает систему
Что за устройства у вас? Они реально спамят в сеть? Подпишитесь через mosqutto_sub и понаблюдайте.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: MQTT publish загружает систему
Там я прокомментировал просто почему рестарт апача спасает в том случае. Вам надо понять для начала 1) тот же у вас случай или нет 2) что у вас действительно творится в сети. Вполне возможна где-то ошибка в коде или что нить подобное. (как на самих устройствах так и в МД).
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 78
- Зарегистрирован: Вт ноя 22, 2016 12:17 am
- Благодарил (а): 13 раз
- Поблагодарили: 2 раза
Re: MQTT publish загружает систему
в логах ниче нового, ни в апаче, ни в брокере. ну, тоесть брокер медленно тормозя, но продолжает работать. видно что от мажордома приходят коннекшны и тп, но это происходит с большой задержкой.По идее апач в этом процессе вообще не задействован. Это очень странное поведение. А что в логах брокера? Самого апача?
увы, но нет. подписка по другому пути, отличной от той, куда он постит значения. в логах брокера видно, что нету обратной отсылки значения клиенту мажордомаИмхо запускается циклический цикл. Мажор принимает новые значения, получаемые от устройств, и по ним же отрабатывает новые действия. Я с таким сталкивался с лампочками. Пока как решить, не знаю.
в моём случае оперативка не переполняется. загружается только процессор. через какой-то время его отпустит и он вернется в нормальный режим. но это может быть и минут 10. сомтря сколько наклацать переключателей.Да не, не странно. Переполняется из за цикличности в МД оператива, занимаются ресурсы, когда ресурсы превысили норму - приложение убивается. Когда его перезапускаешь - выделенная память высвобождается, и всё продолжает работать. Тут как раз всё логично.
вы про какие устройства? со стороны мажордома - это обычные выключатели, к изменению статуса которых привязан путь в MQTT.Что за устройства у вас? Они реально спамят в сеть? Подпишитесь через mosqutto_sub и понаблюдайте.
другие контроллеры, что подклбючены к брокеру сеть не спамят, там значения раз в минуту приходят. ну и я проверял, отключал их и тп. проблемы у мажордома нету, когда он просто слушает свои подписки. Проблемы начинаются непосредственно при вызове метода mqttPublish. в нём он создает новый коннекшн к брокеру(при каждом изменении значения переключателя ). И видимо когда он это делает параллельно в нескольков потоков, тут то и начинается беда.
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: MQTT publish загружает систему
Имхо - модуль МКУТТ работает неправильно...я тут посмотрел в лог москито, как он работает и охренел.
При нормальном порядке вещей - создаётся 1 коннект, и постятся/получаются топики. При работе модуля он какого то хрена создаёт новый коннект каждый раз, как отправляет сообщение. Для брокера, по моему, это тихий ужас)))
При нормальном порядке вещей - создаётся 1 коннект, и постятся/получаются топики. При работе модуля он какого то хрена создаёт новый коннект каждый раз, как отправляет сообщение. Для брокера, по моему, это тихий ужас)))
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 78
- Зарегистрирован: Вт ноя 22, 2016 12:17 am
- Благодарил (а): 13 раз
- Поблагодарили: 2 раза
Re: MQTT publish загружает систему
да, я копался в исходниках. там без вариантов, на каждый publish, новый коннекшн. полагаю использование одного коннекшна помогло бы. но тем не менее, люди ж юзают MQTT модуль и с такой реализацией и им ок... може чего в конфигах покрутить...хз