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: протокол внешней приёмки 12.5
Актуальное продолжение 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 открыта.
IPsec78: реальный PSK responder established, mode-config198.18.78.10 и online=true подтверждены API; точные собственные объекты удалены. Сертификатный/DN online, late failure и history restore остаются открытыми. [Отчёт](ux-ui/acceptance/ipsec-mode-config-2026-10-09.json), [журнал](ux-ui-progress.md).
@@ -696,7 +696,7 @@ flowchart LR
## 12.5.77 — основной блок IPsec (2026-10-09)
Актуальное продолжение 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 открыта.
Подробный объём, протоколы, схема и ограничения: [12.5.77 в журнале](ux-ui-progress.md).
@@ -2307,10 +2307,22 @@ Unit проверил partial high point → последующая complete0 wa
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).
| Референс | Схема |
| --- | --- |
| [ReUI Stats12](https://reui.io/preview/base/stats-12?ref=mcp) | Совпадающие интервалы всех привязок → подтверждённая сумма → максимум периода; нет совпадения → «—», объём сохранён |
Следующий192: одна согласованная общая backend-регрессия; фиксировать реальные skipped/external ветки отдельно. Последующий объём определяется результатом этой проверки и матрицей внешней приёмки. Portal/Telegram/client OS/multi-WAN/scale не приняты по fixture-тестам.12.5 открыта.
## 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 открыта.