Files
drhider/History/upload/2026-08-24-upload-limits.md
T

37 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 2026-08-24 — Лимиты: 50 МБ на файл, 500 МБ на сессию (v0.0.62)
## Контекст
- После переезда на naeel-test-3 ресурсы инстанса уменьшены до 1 CPU / 2048 MiB
(Штурвал, подтверждено kubectl: requests=limits 1CPU/2Gi).
- При 2Gi памяти лимит 1ГБ/сессия (фронт) + отсутствие лимита на файл стали опасны
(OOM-риск, сессии in-memory и теряются при рестарте).
- Пользователь: вернуть лимит — один файл 50 МБ, всего 500 МБ, и показывать лимиты во фронте.
## Изменения
Фронт (site/templates/index.html):
- `MAX_FILE_BYTES = 50МБ`, `MAX_SESSION_BYTES = 500МБ` (было 1ГБ, лимит на файл был убран).
- `addFileWithDedup`: файл сверх 50 МБ → `overNames` («не учитывается», красный, не обфусцируется);
суммарный лимит 500 МБ — как раньше.
- Шапка: «Ограничения: один файл не более 50 МБ, суммарно не более 500 МБ...».
Бэк:
- `site/session.py`: добавлен `MAX_FILE_BYTES = 50МБ` (рядом с `MAX_SESSION_BYTES = 500МБ`).
- `site/routes/api_bp.py` (защита):
- `POST /api/upload`: файл >50 МБ пропускается (log, continue).
- `POST /api/upload_refs`: ref с size>50МБ пропускается + DELETE с ВМ;
после pull проверяется фактический len(content)>50МБ → пропуск + DELETE.
- `site/app.py`: `MAX_CONTENT_LENGTH` 200МБ → 50МБ (защита памяти, согласовано с лимитом файла).
Версия: 0.0.61 → 0.0.62.
## Проверка
- py_compile app.py / session.py / api_bp.py — OK.
- node --check (извлечённый <script> index.html) — OK.
- get_errors — нет.
## Прочее (диагностика 5с)
- Медленная загрузка страницы ~5с — НЕ кластер/приложение: `time_namelookup=5.15с`
(медленный локальный резолвер: 8.8.8.8 первым в /etc/resolv.conf недоступен, фолбэк на 10.96.x.x).
Тот же паттерн на ВМ (5.4с). drhider отвечает за ~0.03с после соединения.
- Kubeconfig naeel-test-3 обновлён на ВМ (~/.kube/config-naeel-test-3), kubectl работает.