Кейс: API latency вырос. Разбор на собесе
Карьерник — квиз-тренажёр в Telegram с 1500+ вопросами и кейсами с реальных собесов аналитика. SQL, Python, A/B, метрики. Бесплатно.
Формулировка
P95 API latency вырос с 200ms до 500ms за неделю. Пользователи жалуются. Что делать?
Кейс для аналитика в tech-компании, особенно при close-ness к инженерным командам.
Шаг 1. Уточнения
- Какой API? User-facing или internal?
- Все endpoints или конкретный?
- P50, P95, P99 — все выросли или только P95?
- Бизнес-impact: кто жалуется?
Шаг 2. Проверка данных
- Трекер latency работает корректно?
- Instrumentation не менялась?
- Timezone / period issues?
Шаг 3. Декомпозиция
API latency = DB query time + app processing + network + third-party APIsНаходим, где именно просело.
Шаг 4. Сегменты
- По endpoint (какие самые медленные)
- По пользователю (есть пользователь, который триггерит heavy query)
- По регион / DC
- По payload size
- По времени суток (peak hours)
Шаг 5. Гипотезы
DB проблемы
- Медленные SQL queries (см. почему медленный запрос)
- Отсутствие индекса на новом поле
- DB lock contention
Application
- Memory leak → GC pause
- N+1 query pattern
- Новая feature с heavy processing
Infrastructure
- Недостаток CPU / RAM
- Slow disk I/O
- Network issues
Third-party
- External API slow (payment, auth, analytics)
- SDK upgrade
Traffic
- Рост нагрузки без scaling
- Ddos / bot attack
Шаг 6. Top queries
Для DB-related latency:
-- в pg_stat_statements
SELECT query, mean_exec_time, calls
FROM pg_stat_statements
ORDER BY mean_exec_time DESC
LIMIT 20;Ищем «тяжёлые» queries.
Шаг 7. Влияние на бизнес
1s delay → -7% conversion (industry benchmark)Связь latency и метрик:
- Конверсия
- Bounce rate
- Session length
- API errors (timeout)
Шаг 8. План
Краткосрочно:
- Rollback проблемного релиза
- Добавить capacity (scale horizontally)
- Kill тяжёлые queries
- Fix memory leak
Среднесрочно:
- DB index optimization
- Caching (Redis)
- Query optimization
- Async processing для slow operations
Долгосрочно:
- Microservices split (если monolith)
- CDN для static
- Read replicas
- Monitoring и alerting
На собесе
«API latency — output метрика. Декомпозирую по слоям: DB, app, network, third-party. P95 vs P99 важен — разная story».
Для аналитика
Даже если сам не инженер, аналитик:
- Мерит business impact от latency
- Корреляция latency ↔ conversion
- Monitoring dashboards
Связанные кейсы
FAQ
P95 vs P99?
P95 — обычный пользователь. P99 — worst cases (SLA обычно на P99).
500ms — много?
Для real-time API — критично. Для dashboard — приемлемо.
Как связан с бизнесом?
1s latency ≈ -7% conversion. Люди не ждут.
Больше кейсов — в тренажёре с 1500+ вопросами.