Files
contracts-flask/History/2026-08-26-stress-100kb-gateway.md

1.3 KiB
Raw Permalink Blame History

Стресс прод: 100KB прямой POST — 83% таймаутов (2026-08-26)

Прогон

stress_http.py --url https://contractor.pythonk8s.dev.nubes.ru --n 300 --threads 20 --size 100000 (файл load.docx, невалидный, 100KB)

Результат: ok=51, err=249, timeouts=249, elapsed=398.5s, rps=0.8.

Находка

  • 100KB прямой POST /upload через managed-шлюз → 83% обрывов (таймауты ~30с).
  • Подтверждает известное ограничение платформы: шлюз рвёт тело >~64KB (история 2026-08-18, ingress-аннотация / client_max_body_size).
  • Это НЕ деградация приложения: под почти не грузился (CPU 15m, MEM 66Mi) — обрывает внешний шлюз.
  • Именно поэтому и внедрён VM-буфер (PUT на ВМ WebDAV → egress GET): прямой большой POST через шлюз для прода непригоден.

Вывод

  • Стресс /upload валиден только файлами < 64KB (реальные документы 17–36KB).
  • Большие файлы — только через VM-буфер (/api/upload_refs), не прямым POST.