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

2.5 KiB
Raw Blame History

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 работает.