fix(traffic): объединять чтения истории общего сервера

This commit is contained in:
Denozordec committed 2026-10-13 14:15:44 +07:00
1 parent 7b88416415
commit a68bd61e58
18 files changed
+1373 -30

No files matched your search

+15 -3
View File
@@ -1,6 +1,6 @@
# UX/UI: журнал реализации
Актуальное продолжение 2026-10-13: завершён191 — общий пик привязок по совпадающим подтверждённым интервалам; backend/frontend ux-peak191 развёрнуты. ownSQL71/41228ms, E2E77/1.6m, source985/compiled1040/API/live UI2 passed. Начата192 — общая backend-регрессия в отдельной временной БД.12.5 открыта.
Актуальное продолжение 2026-10-13: завершены191 и193 — общий пик подтверждённых интервалов и одно чтение истории сервера на запрос пользователей. Runtime backend ux-peak193/frontend ux-peak191 healthy/API/live UI2 passed.192: backend24 профиля passed321237ms; отдельные Monthly SQL/IPv6 UDP-worker-SQL/Ping replay passed, frontend59 test files accepted after corrected stale assertion; полный E2E1286 ещё выполняется.12.5 открыта.
Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md).
@@ -36,7 +36,19 @@
| 10 | Маршрутизация, диагностика, карта и терминал | Завершён в границах локальной приёмки 2026-10-01; блоки 10.1–10.71, внешние ограничения в 10.71 |
| 11А | Пользователи, контейнеры, сертификаты и резервные копии | Завершён в границах локальной приёмки 2026-10-01; 11А.1–11А.33, внешние ограничения в 11А.33 |
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | Завершён в границах локальной приёмки 2026-10-03; ограничения и evidence в11Б.7 |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в границах12.3.83; внешняя12.5 в работе, выполненные блоки1–191 и ограничения ниже. Runtime backend/frontend ux-peak191. |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в границах12.3.83; внешняя12.5 в работе, выполненные блоки1–191 и193;192 в проверке и ограничения ниже. Runtime backend ux-peak193/frontend ux-peak191. |
## 12.5.193 — трафик пользователей: одно чтение истории общего сервера (2026-10-13)
Устранены повторные одновременные SELECT истории при Promise.all пользователей. Cache раньше заполнялся только после await, поэтому100 пользователей с общим сервером успевали начать100 независимых чтений. Теперь Promise сохраняется перед await, потребители используют одну выборку этого сервера в рамках текущего запроса. Cache не сохраняется между запросами/периодами; другой serverId читает собственные данные. Ошибка распространяется как прежде, следующий запрос выполняет новое чтение и восстанавливается. Это не глобальный cache и не обещание транзакционно согласованного snapshot всех серверов/каталога.
Изменён traffic-users.ts, добавлен traffic-users-cache.test.ts в профиль traffic-rate. Проверка выполняет actual function body из исходника с подменой DB boundaries:100 concurrent consumers →1 server history read, unchanged1024bytes/user, новый запрос →новое чтение, другая serverId →отдельная выборка, failure/recovery. Это подтверждение call count алгоритма, не production SQL benchmark. Реальный профиль PostgreSQL/API прошёл все71 SQL cases41959ms без unavailable skip, включая100 bindings/user, volume/temporal peak/source/freshness. Собственные DB/role/container удалены.
Backend build passed. Production backend ux-peak193/version1.0.0-test.peak193 развёрнут, frontend ux-peak191 сохранён.462 backend source files и1040 compiled artifacts совпали. Frontend не пересобирался; его источник/production bundle остаются подтверждёнными191. Backend/PG healthy, frontend HTTP/browser passed. Actual API200 и current measurements обоих CHR, live UI1440/320 без page errors/overflow. Native конфигурация и пароли не менялись, messages0.
Протоколы: [cache](ux-ui/acceptance/traffic-users-cache-2026-10-13.json), [SQL](ux-ui/acceptance/traffic-users193-sql193-result.json), [source](ux-ui/acceptance/traffic-users193-source193-result.json), [compiled](ux-ui/acceptance/traffic-users193-compiled193-result.json), [runtime](ux-ui/acceptance/traffic-users193-runtime193-result.json), [API](ux-ui/acceptance/traffic-users193-peak193-api-result.json), [live UI](ux-ui/acceptance/traffic-users-cache-deployed-2026-10-13.json).
Общая регрессия192 начата на backend191; её24 backend профиля passed, текущий cache193 отдельно принят полным traffic-rate профилем. Не повторять общие неизменённые разделы. Полный браузерный прогон1286 ещё выполняется — не считать его завершённым. Исправлена ссылка live UI191: его evidence теперь хранится отдельно от исторического190, исходный протокол190 восстановлен. Следующий шаг — завершить192, разобрать ошибки полного E2E и восстановить только снимки текущего тестового запуска с сохранением8 исходно изменённых пользовательских PNG. Затем multi-instance/scale и внешние группы матрицы.12.5 открыта.
## 12.5.191 — подтверждённый общий пик привязок: реализация и приёмка (2026-10-13)
@@ -48,7 +60,7 @@
Backend build и frontend TypeScript passed. Все77 уникальных E2E трафика прошли1.6m; начальные4 focused cases22.4s входят в77 и повторно не считаются. Production backend/frontend build passed; source manifests совпали461 backend+524 frontend файлов,1040 compiled backend artifacts совпали. Runtime backend/frontend ux-peak191, PostgreSQL healthy; frontend healthcheck отсутствует, работа подтверждена HTTP/browser. До backend rollout новый frontend принят с backend190. Actual API200 и fresh measurements обоих CHR, live UI1440/320 без page errors/overflow. Native конфигурация/пароли не менялись, messages0.
Протоколы: [SQL](ux-ui/acceptance/traffic-peak191-sql191-result.json), [source](ux-ui/acceptance/traffic-peak191-source191-result.json), [compiled](ux-ui/acceptance/traffic-peak191-compiled191-result.json), [runtime](ux-ui/acceptance/traffic-peak191-runtime191-result.json), [API](ux-ui/acceptance/traffic-peak191-peak191-api-result.json), [E2E](ux-ui/acceptance/traffic-peak-e2e-2026-10-13.json), [interop](ux-ui/acceptance/traffic-peak-interop-2026-10-13.json), [live UI](ux-ui/acceptance/traffic-peak-deployed-2026-10-13.json).
Протоколы: [SQL](ux-ui/acceptance/traffic-peak191-sql191-result.json), [source](ux-ui/acceptance/traffic-peak191-source191-result.json), [compiled](ux-ui/acceptance/traffic-peak191-compiled191-result.json), [runtime](ux-ui/acceptance/traffic-peak191-runtime191-result.json), [API](ux-ui/acceptance/traffic-peak191-peak191-api-result.json), [E2E](ux-ui/acceptance/traffic-peak-e2e-2026-10-13.json), [interop](ux-ui/acceptance/traffic-peak-interop-2026-10-13.json), [live UI](ux-ui/acceptance/traffic-aggregate-peak-deployed-2026-10-13.json).
| Референс | Схема |
| --- | --- |