# Диагностика медленной/нестабильной загрузки + v0.0.43 — 2026-08-19 **Дата:** 2026-08-19 **Версия:** 0.0.42 → 0.0.43 --- ## Проблема Юзер: «Таймаут 30с» при загрузке 19 МБ PDF в drhider. Раньше (11с) грузилось. ## Диагностика (факты) ### Таймаут 30с - Введён 14.07.2026 (коммит `b6dac6f`, «не висеть бесконечно»), НЕ мой код. - 19 МБ / 30с = 0.63 МБ/с — при медленном/нестабильном канале не хватает. ### Замеры загрузки с ВМ (внешний путь) - 1 МБ → 0.16с (быстро) - 5 МБ → 51.6с (медленно) - 10 МБ → 52.4с (медленно) - Повтор 10 МБ ×4: **1.07с / 52.3с / 52.3с / 52.3с** — НЕСТАБИЛЬНО, чаще 52с. - Повтор 1 МБ: то 51с, то 0.5с — задержка НЕ зависит от размера. ### Тайминг (10 МБ) - `connect=0.046с`, `starttransfer=0.09с`, `total=52.5с`. - Сервер отвечает быстро (starttransfer), но соединение «висит» ~52с после ответа. - `Connection: close` — НЕ помогает (то же 52с). ### Сервер - Из loadtest: внутри кластера 10 МБ = 0.2с — сервер/Flask быстрые. - ClusterIP с ВМ недоступен (ВМ вне кластера) — проверить напрямую не вышло. ## Применённые аннотации ingress (НЕ помогли) Добавлены на ingress `pythonk8s` (ns 20a75175...): ```yaml nginx.ingress.kubernetes.io/proxy-request-buffering: "false" nginx.ingress.kubernetes.io/client-body-buffer-size: "1024m" ``` - `kubectl patch` — применено, nginx reload (75с). - В конфиге: `client_body_buffer_size 1024m` — применилось. - `proxy_request_buffering on` — НЕ применилось (аннотация не подхватилась shturval-контроллером). - Замер после: 5 МБ = 51.7с, 19 МБ = 53.8с — эффекта НЕТ. ## Вывод - Задержка ~50с НЕ в коде drhider, НЕ в буферизации nginx, НЕ зависит от размера, НЕСТАБИЛЬНА (то 0.5с, то 52с). Вероятно: внешний путь шлюз/балансировщик/сеть (потеря пакетов / TCP RTO ~50с, или периодическая задержка шлюза). - Совпадает с диагнозом loadtest: «на iot-naeel шлюз держит ~50с». ## Решение (v0.0.43) — защита от ошибки юзера - `xhr.timeout`: 30000 → **300000 (300с)** — при нестабильной загрузке файл догрузится (медленно, но без «Таймаут 30с»). - Сообщение: «Таймаут 30с» → «Таймаут 300с». ## Осталось - Аннотации на ingress оставлены (`client-body-buffer-size 1024m` не вредит; `proxy-request-buffering` не работает на shturval — искать правильный способ). - Корень задержки ~50с на внешнем пути — НЕ найден, требует сетевой диагностики (tcpdump, проверка балансировщика/шлюза платформы).