A7 в деталях
Серверная платформа: архитектура, обработка данных и измерения под нагрузкой.
Серверное ядро и его окружение
В центре — серверное ядро: объекты, скрипты, хранение, права и подписки. Оборудование и клиентские инструменты показывают внешнее окружение.
A7 Серверное ядро
Объектная база
building
└─ room_12
└─ sensor_07
temperature: 22.4Скриптовый движок
onChange читать поле обновить объектПсевдокод сценария
Журнал и снимки
Права и подписки
читать · изменять · наблюдать
Серверное ядро связывает данные, логику и хранение. Выберите подсистему, чтобы увидеть её роль.
От устройства к серверным данным
Плагин принимает данные протокола. A7 представляет их объектами, выполняет логику и доставляет изменения подписчикам. Оборудование и клиенты показаны как внешнее окружение сервера.
A7 Серверная часть
Плагин протокола
ZigBee → данные устройства
Объектная модель
building
└─ room_12
└─ sensor_07
temperature: 22.4
humidity: 48Скрипты
Обработка изменений по сценарию
Права и подписки
Одно изменение → несколько подписчиков с доступом
Одна серверная модель данных обслуживает разные клиентские представления. Устройство и значения в схеме условные.
Сложность видна в нагрузке
Количество соединений, расход памяти и паузы при сохранении показывают серверную работу в цифрах. Ниже — результаты конкретных исторических прогонов.
30 000 виртуальных хабов
Один знак = 1000 виртуальных хабов. Точки показывают направление обмена.
- Последний логин
- 4,37 с
- Прирост RSS сессий
- 20 МиБ
- Keepalive p50 / p99
- 0,130 / 5,7 мс
Контрольный хаб, 197 измерений. В прогоне — 30 000 успешных логинов, без отказов и обрывов.
Сохранение под нагрузкой
Отдельный прогон: парк 33 140, поток 5000 кадров/с.
На медленном VPS пауза достигала 263 мс. Это результаты стендов, не гарантия для любого оборудования.
Пауза — 12 мс. Затем сервер отвечает, пока снимок записывается.
Движение точек показывает связи, не частоту сообщений. Дорожки сохранения воспроизводят измеренные длительности.
Две операции — примерно втрое быстрее
Сравнение скриптового движка старого A7 19 и нового ядра A7 26. Время одной итерации сценария; меньше — быстрее. Общая шкала обеих диаграмм — 0–800 нс.
Арифметика в цикле
s = s + i2,8× быстрееЧтение поля из скрипта
o.localport3,1× быстрее29.08.2026 · Intel i9-9900KF · оба сервера в Release · 10⁶ повторов · сопоставимые базы. Чтение поля измерено в точечной форме. Коэффициенты относятся к этим операциям, а не ко всем скриптам или серверу целиком. Как измерялось
Запуск без пересборки всей истории
Паспорт схемы хранит координаты типов и полей. В этом прогоне сервер построил одну схему вместо двадцати девяти.
До готовности сервера
−27% времени запускаНа 800 мс меньше на одной копии базы.
28.08.2026 · около 580 тыс. объектов · 29 релизов · Debug без плагинов. Это оптимизация запуска внутри A7 26. Число сборок 29 → 1 описывает данный прогон, а не ускорение в 29 раз. Условия сравнения
Условия и источники измерений
Логины, память и keepalive взяты из одного прогона терминатора CleverHub. 30 000 — виртуальные хабы, а не квартиры или конечные ZigBee-устройства. Keepalive контрольного хаба не измеряет задержку управления оборудованием.
ForkCow: отчёт от 7 августа 2026 года, синтетический парк 33 140, входящий поток 5000 кадров/с. 12 мс — пауза, 3943 мс — запись образа дочерним процессом; времена на диаграмме совмещены для сравнения длительностей.
Условия сравнений и пояснения к источникам — в текстовом разборе A7.