docs: тесты v0.0.67 (загрузка/лимиты/ZIP-кириллица/ETA/прерывание) + разбор двухкластерного деплоя
This commit is contained in:
@@ -89,6 +89,7 @@
|
||||
- **2026-08-21-pattern-vm-buffer-pull-plan.md** — план: перенос паттерна «ВМ-буфер + pull» в drhider.
|
||||
- **2026-08-21-vm-files-api-plan.md** — план: универсальный файловый сервис на ВМ (API).
|
||||
- **2026-08-21-vm-upload-implemented.md** — v0.0.58: ВМ-загрузка реализована (паттерн «ВМ-буфер + pull»).
|
||||
- **2026-08-24-two-clusters-deploy.md** — деплой на двух кластерах: iot-naeel (актуальный, DNS → .151) и naeel-test-3 (не погашен).
|
||||
|
||||
## ux-frontend/ — фичи фронтенда
|
||||
|
||||
@@ -128,6 +129,7 @@
|
||||
- **2026-08-19-ui-5runs-benchmark.md** — v0.0.49: бенчмарк UI, 5 прогонов DownLoads.zip (18 файлов, замеры времени).
|
||||
- **2026-08-23-obfuscation-tests.md** — тесты реальной обфускации и фикс .doc (v0.0.60–0.0.61, корпус /mnt/y/T).
|
||||
- **2026-08-24-tests-upload-and-obfuscation.md** — тесты загрузки и обфускации (v0.0.62, лимиты, ВМ-буфер).
|
||||
- **2026-08-24-test-batch-v067.md** — тесты v0.0.67: загрузка, лимит 50МБ, ZIP-кириллица, ETA, прерывание с частичным сохранением.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
# Деплой: два кластера, iot-naeel актуальный, naeel-test-3 — не погашен (2026-08-24)
|
||||
|
||||
## Симптом
|
||||
- health/HTML внешнего URL отдавали **0.0.67**, а под в ns 20a75175 на naeel-test-3 был **0.0.61**
|
||||
(внутренний health 0.0.61, нет MAX_FILE_BYTES/cancel/ETA/UI).
|
||||
- Часть запросов (upload_refs) попадала на старый под → тесты вели себя непредсказуемо
|
||||
(60МБ «принимался»).
|
||||
|
||||
## Причина (подтверждена kubeconfig'ами обоих кластеров)
|
||||
- drhider развёрнут на **двух кластерах** в одном namespace-ID `20a75175-...`:
|
||||
- **iot-naeel**: под `pythonk8s-cf686f894-96l7m` (возраст ~42м — свежий редеплой), **v0.0.67**;
|
||||
ingress `drhider.pythonk8s.dev.nubes.ru` → **185.247.187.151**.
|
||||
- **naeel-test-3**: под `pythonk8s-797ddd69df-dmdg6` — **старый, не погашенный** (был 0.0.61);
|
||||
ingress → 185.247.187.147.
|
||||
- **DNS `drhider.pythonk8s.dev.nubes.ru` → 185.247.187.151 = iot-naeel** → внешний URL обслуживает
|
||||
iot-naeel (0.0.67). naeel-test-3 в DNS не участвует, но остаётся живым инстансом.
|
||||
|
||||
## Что сделано
|
||||
- kubeconfig'и на ВМ обновлены на оба кластера (`~/.kube/config` iot-naeel, `~/.kube/config-naeel-test-3`).
|
||||
- Проверены оба пода: и iot-naeel, и naeel-test-3 теперь **v0.0.67** (naeel-test-3 обновлён
|
||||
пересозданием пода — `scale 0 → 1` заставил git-clone master@0.0.67).
|
||||
- Внешний бэкенд — iot-naeel (0.0.67), все тесты прогнаны на нём (см. tests/2026-08-24-test-batch-v067.md).
|
||||
|
||||
## Осталось (рекомендация)
|
||||
- В Штурвале **погасить/удалить инстанс drhider на naeel-test-3** (ns 20a75175) — он не нужен,
|
||||
DNS ведёт на iot-naeel. Оставить один актуальный (iot-naeel, 0.0.67).
|
||||
- Проверить прочие `pythonk8s` на iot-naeel (contractor/loadtest/polygon/atest) — это другие приложения, не drhider.
|
||||
@@ -0,0 +1,30 @@
|
||||
# Тесты v0.0.67: загрузка, лимиты, ZIP-кириллица, ETA, прерывание (2026-08-24)
|
||||
|
||||
_Фон: найден и разобран неконсистентный деплой (см. infra/2026-08-24-two-clusters-deploy.md).
|
||||
Все тесты — на реальном внешнем бэкенде **iot-naeel (185.247.187.151), под v0.0.67**._
|
||||
|
||||
## 1. Загрузка: много + больших ✅
|
||||
- 119 файлов / **480.5 МБ** (8×45МБ + 10×10МБ + 100×200КБ).
|
||||
- PUT (P=8) 44.8с, `upload_refs` 51.9с, сессия: 119 файлов, 480.5МБ, 0 ошибок.
|
||||
|
||||
## 2. Лимит 50 МБ/файл ✅
|
||||
- big60 (60МБ) + small1 (1МБ) → `upload_refs` `{count:1}`; в сессии только `small1.bin`; big60 удалён с ВМ.
|
||||
- Раньше (старый под 0.0.61 в балансировке) big60 принимался — после чистки работает.
|
||||
|
||||
## 3. ZIP: кириллица без UTF-8-флага (v0.0.67) ✅
|
||||
- ZIP с `TKM_6й_Семестр_ЭКЗАМЕН.docx`, `Договор_ООО_Ромашка.pdf` (UTF-8, флаг сброшен) → в браузере имена декодированы **верно** (было `╨╣…`-мусор). Оценки времени видны.
|
||||
|
||||
## 4. Обфускация 20 файлов: ETA и SSE-события ✅
|
||||
- 21 файл (вкл. plan.txt): SSE 255с, `complete {total:21, tokens:104128, llm_sec:254.0}`.
|
||||
- События: `start=21, extract_done=1, file_start=21, file_chunk=21, file_done=21, done=21, complete=1`.
|
||||
- `llm`-heartbeat с `eta_sec`: 230 примеров, убывает 237→0 (адаптивная ETA работает).
|
||||
- ZIP: 21 файл (29.4КБ), CSV: 295 строк.
|
||||
|
||||
## 5. Прерывание с частичным сохранением ✅
|
||||
- 22 файла, через 25с `POST /api/cancel/<sid>` → `{"ok":true}`.
|
||||
- SSE `cancelled: {saved:3, total:22, tokens:11640, llm_sec:30.2}`.
|
||||
- **Частичный ZIP: 3 файла (4.4КБ), частичный CSV: 188 строк** — скачаны (HTTP 200).
|
||||
|
||||
## Вывод
|
||||
На консистентном v0.0.67 все новые фичи работают: лимиты, декодирование имён ZIP,
|
||||
ETA (global+per-file в SSE), прерывание с частичным результатом. Регрессий нет.
|
||||
Reference in New Issue
Block a user