Кейс: 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 проблемы

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+ вопросами.