Ответ вслух Senior Надёжность и наблюдаемость обновлено

Почему запрос стал медленным

Вопрос

Пользователи жалуются, что оформление заказа стало занимать 5 секунд. В системе 20 сервисов. Как будете искать причину?

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Начинаю с метрик: на дашборде сервиса заказов смотрю p99 по эндпоинтам и вижу, когда начался рост. Сверяю с событиями: деплой, смена конфига, всплеск трафика.

Что должно прозвучать в ответе

  • Дашборды RED: какой эндпоинт и с какого момента, p99 а не среднее

  • Связь с событиями: деплой, изменение конфига, рост трафика

  • Распределённый трейс медленного запроса: какой span съел время

  • Метрики ресурсов USE у виновника: CPU, пул соединений, БД

  • Логи по trace id и затем исправление и алерт

Что могут спросить следом

  • Как трейс передаётся между сервисами?
  • Что если трейсинга нет?

Разбор

Начинаю с метрик: на дашборде сервиса заказов смотрю p99 по эндпоинтам и вижу, когда начался рост. Сверяю с событиями: деплой, смена конфига, всплеск трафика. Дальше беру несколько медленных запросов в трейсинге (OpenTelemetry и Jaeger): по спанам видно, что, например, 4,5 секунды уходит на вызов сервиса скидок. Иду в его метрики: может быть, исчерпан пул соединений к БД, и запросы ждут в очереди, или новый запрос без индекса. Логи по trace id подтверждают. После починки ставлю алерт на p99 этого эндпоинта и на сжигание error budget, чтобы узнавать раньше пользователей.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.