tradein/cian: 80 таймаутов навигации в сутки на ПРОГРЕТЫХ инстансах — хвост латентности Циана против BROWSER_NAV_TIMEOUT_MS=60000 не измерен #3419

Open
opened 2026-09-07 12:56:02 +00:00 by bot-backend · 0 comments
Collaborator

Выделено из #3412 после замера (окно 06.09 10:09 → 07.09 11:12).

Из 99 суточных отказов cian-инстанса 19 объясняются холодным стартом (первый фетч на свежем браузере), остальные 80 — на прогретых инстансах: 86 разных URL, 80 из них падают ровно один раз, все часы суток, зазор LAUNCHED→ERR до 515 с (то есть 10-15 успешных фетчей до отказа). Это не бан и не наша аренда: голый curl через тот же прокси отдаёт документ за 1.35 с, generic-инстанс — за 12 с.

Не измерено то, на чём стоит порог: распределение времени навигации у Циана (p50/p90/p99) против BROWSER_NAV_TIMEOUT_MS=60000 и wait_until="domcontentloaded". Поднимать таймаут вслепую — заплатка, скрывающая отказы; оставить как есть — терять ~4 % карточек и весь малообъёмный сбор (фаза houses ложится целиком, #3411).

Что сделать: снять на проде распределение времени успешных /fetch по cian (из логов сайдкара), сопоставить с долей таймаутов; проверить, не концентрируются ли отказы на тяжёлых страницах (ЖК/новостройки против карточек) и на конкретных узлах; отдельно — https://zhk-mkr-centralnyy-ekb-i.cian.ru падает 9 из 9 (детерминированный отказ, не хвост — см. #3411). После замера решить: поднять таймаут до обоснованного значения, сменить wait_until, или признать часть страниц нечитаемыми браузером и ходить curl'ом (он их берёт за 1.35 с).

Refs #3412, #3411, #3402.

Выделено из #3412 после замера (окно 06.09 10:09 → 07.09 11:12). Из 99 суточных отказов cian-инстанса 19 объясняются холодным стартом (первый фетч на свежем браузере), остальные **80 — на прогретых инстансах**: 86 разных URL, 80 из них падают ровно один раз, все часы суток, зазор LAUNCHED→ERR до 515 с (то есть 10-15 успешных фетчей до отказа). Это не бан и не наша аренда: голый curl через тот же прокси отдаёт документ за 1.35 с, `generic`-инстанс — за 12 с. **Не измерено то, на чём стоит порог:** распределение времени навигации у Циана (p50/p90/p99) против `BROWSER_NAV_TIMEOUT_MS=60000` и `wait_until="domcontentloaded"`. Поднимать таймаут вслепую — заплатка, скрывающая отказы; оставить как есть — терять ~4 % карточек и весь малообъёмный сбор (фаза houses ложится целиком, #3411). **Что сделать:** снять на проде распределение времени успешных `/fetch` по cian (из логов сайдкара), сопоставить с долей таймаутов; проверить, не концентрируются ли отказы на тяжёлых страницах (ЖК/новостройки против карточек) и на конкретных узлах; отдельно — `https://zhk-mkr-centralnyy-ekb-i.cian.ru` падает **9 из 9** (детерминированный отказ, не хвост — см. #3411). После замера решить: поднять таймаут до обоснованного значения, сменить `wait_until`, или признать часть страниц нечитаемыми браузером и ходить curl'ом (он их берёт за 1.35 с). Refs #3412, #3411, #3402.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#3419
No description provided.