test: stress_http --file (реальные файлы); History: 100KB прямой POST — 83% таймаутов (шлюз рвёт >64KB), 30KB реальный — 200/200 ok

This commit is contained in:
“Naeel”
2026-08-26 20:35:48 +03:00
parent 6fcbbddbdb
commit 08e8e3afec
2 changed files with 36 additions and 4 deletions
@@ -0,0 +1,22 @@
# Стресс прод: 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.