Передача данных черех API
Модератор: immortal
-
- Сообщения: 59
- Зарегистрирован: Ср авг 23, 2017 5:35 pm
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
Re: Передача данных черех API
Сейчас так и сделаю. Посмотрим, что получится. Но все же, разработчикам MD наверное, стоит поискать узкое место....
-
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
- Благодарил (а): 400 раз
- Поблагодарили: 1753 раза
- Контактная информация:
Re: Передача данных черех API
Какое железо используется? Имхо, тут неудачно сама архитектура решения выбрана. Железка сама должна отправлять событие на сервер о нажатии кнопки, например. И никак не наоборот, когда сервак поллит железку запросами раз в секунду, чтобы узнать "а нажал ли кто на ней кнопку или нет".FredP писал(а):Да никакой сверхествестенной задачи.Например, нужно передавать на контроллер уставки температур, влажности, CO2. Положение заслонок вентиляции. Управление шторами.Считаю, вполне естественным ожидать начало движения шторы от нажатия кнопки не более 1 секунды. Для этого мне нужно передавать данные на контроллер хотя бы 2 раза в секунду. Или если я хочу "похолоднее", кондиционер должен вкючиться не через 10 и хорошо бы даже не через 5 секунд...Данные с датчиков можно и раз в 5 секунд, согласен. Хотя, тоже ерунда.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Мой CONNECT | Блоги | Telegram
-
- Сообщения: 59
- Зарегистрирован: Ср авг 23, 2017 5:35 pm
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
Re: Передача данных черех API
Железка: Windows 7 ebmedded на системе с intel atom 1.33 GHz (2 Гб ОЗУ).skysilver писал(а):Какое железо используется? Имхо, тут неудачно сама архитектура решения выбрана. Железка сама должна отправлять событие на сервер о нажатии кнопки, например. И никак не наоборот, когда сервак поллит железку запросами раз в секунду, чтобы узнать "а нажал ли кто на ней кнопку или нет".
Архитектура не оптимальна, но и задача не тривиальна. Эта же железка через MQTT передает-принимает 100 переменных загружая ЦП не более чем на 10% (с отображением на дисплее и учитывая алгоритмы управления, опрос modbus шины и прочие пересчеты напряжений в градусы).
Просто попробовал, добавил 100 переменных. Промышленные скады не подходят для умного дома, нет http интерфейса, дизайн конца 90х... это интерфейс для отладки:
- За это сообщение автора FredP поблагодарил:
- Sergey.Chek (Пн мар 09, 2020 2:46 pm)
- Рейтинг: 1.16%
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Передача данных черех API
Узкое место и так видно....база sql и скорость её работы...если откроете график по процессам - скорее всего не МД и апач буду жрать львиную долю процессора, а именно sql процесс.FredP писал(а):Сейчас так и сделаю. Посмотрим, что получится. Но все же, разработчикам MD наверное, стоит поискать узкое место....
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Передача данных черех API
Оптимизация МД это задача постоянная, так что по мере сил какой-то прогресс здесь есть, но, как указали выше, база данных это узкое место. Буду только рад, если кто-то подключится для детального анализа всей цепочки, чтобы выяснить самые медленные операции с конкретным таймингом. Для этого надо лезть в код, но тут тоже проблем особых нет -- было бы желание
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 59
- Зарегистрирован: Ср авг 23, 2017 5:35 pm
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
Re: Передача данных черех API
Ну что, всем спасибо за поддержку. Настроил MQTT. Теперь загрузка ЦП не более 20%. Скорость обновления - тоже устраивает: порядка 1-2 секунд, учитывая что я нажимаю кнопку на телефоне - GSM>vpnki.ru>wi-fi>openVPN>MD. Думаю, задержка просто по сети 0.5-1 секунду.