Страница 3 из 3

Re: Передача данных черех API

Добавлено: Пн окт 16, 2017 11:59 am
FredP
Сейчас так и сделаю. Посмотрим, что получится. Но все же, разработчикам MD наверное, стоит поискать узкое место....

Re: Передача данных черех API

Добавлено: Пн окт 16, 2017 11:59 am
skysilver
FredP писал(а):Да никакой сверхествестенной задачи.Например, нужно передавать на контроллер уставки температур, влажности, CO2. Положение заслонок вентиляции. Управление шторами.Считаю, вполне естественным ожидать начало движения шторы от нажатия кнопки не более 1 секунды. Для этого мне нужно передавать данные на контроллер хотя бы 2 раза в секунду. Или если я хочу "похолоднее", кондиционер должен вкючиться не через 10 и хорошо бы даже не через 5 секунд...Данные с датчиков можно и раз в 5 секунд, согласен. Хотя, тоже ерунда.
Какое железо используется? Имхо, тут неудачно сама архитектура решения выбрана. Железка сама должна отправлять событие на сервер о нажатии кнопки, например. И никак не наоборот, когда сервак поллит железку запросами раз в секунду, чтобы узнать "а нажал ли кто на ней кнопку или нет".

Re: Передача данных черех API

Добавлено: Пн окт 16, 2017 12:07 pm
FredP
skysilver писал(а):Какое железо используется? Имхо, тут неудачно сама архитектура решения выбрана. Железка сама должна отправлять событие на сервер о нажатии кнопки, например. И никак не наоборот, когда сервак поллит железку запросами раз в секунду, чтобы узнать "а нажал ли кто на ней кнопку или нет".
Железка: Windows 7 ebmedded на системе с intel atom 1.33 GHz (2 Гб ОЗУ).
Архитектура не оптимальна, но и задача не тривиальна. Эта же железка через MQTT передает-принимает 100 переменных загружая ЦП не более чем на 10% (с отображением на дисплее и учитывая алгоритмы управления, опрос modbus шины и прочие пересчеты напряжений в градусы).
Просто попробовал, добавил 100 переменных. Промышленные скады не подходят для умного дома, нет http интерфейса, дизайн конца 90х... это интерфейс для отладки:
Снимок.PNG
Снимок.PNG (332.34 КБ) 3832 просмотра

Re: Передача данных черех API

Добавлено: Пн окт 16, 2017 2:00 pm
nick7zmail
FredP писал(а):Сейчас так и сделаю. Посмотрим, что получится. Но все же, разработчикам MD наверное, стоит поискать узкое место....
Узкое место и так видно....база sql и скорость её работы...если откроете график по процессам - скорее всего не МД и апач буду жрать львиную долю процессора, а именно sql процесс.

Re: Передача данных черех API

Добавлено: Ср окт 18, 2017 11:07 am
sergejey
Оптимизация МД это задача постоянная, так что по мере сил какой-то прогресс здесь есть, но, как указали выше, база данных это узкое место. Буду только рад, если кто-то подключится для детального анализа всей цепочки, чтобы выяснить самые медленные операции с конкретным таймингом. Для этого надо лезть в код, но тут тоже проблем особых нет -- было бы желание :)

Re: Передача данных черех API

Добавлено: Пт окт 20, 2017 7:08 am
FredP
Ну что, всем спасибо за поддержку. Настроил MQTT. Теперь загрузка ЦП не более 20%. Скорость обновления - тоже устраивает: порядка 1-2 секунд, учитывая что я нажимаю кнопку на телефоне - GSM>vpnki.ru>wi-fi>openVPN>MD. Думаю, задержка просто по сети 0.5-1 секунду.