По порядку Middle Производительность и профилирование обновлено

Методика поиска узкого места

Вопрос

Расставьте шаги поиска причины роста p99 у сервиса.

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

Расставьте шаги по порядку стрелками.

  1. 1
    Сопоставить с изменениями: релиз, трафик, данные, зависимости
  2. 2
    Проверить ресурсы и насыщение: CPU и троттлинг, память, пулы, диски
  3. 3
    Снять профиль, если время уходит внутри сервиса
  4. 4
    Уточнить симптом: какие запросы, с какого времени, насколько хуже
  5. 5
    Выдвинуть гипотезу, изменить одно и измерить снова
  6. 6
    Посмотреть трейсы медленных запросов: где тратится время
Показать ответ и разбор

Коротко

Движение от симптома к причине, от широкого к узкому. Профилировщик полезен, когда уже понятно, что время тратится внутри сервиса, а не на ожидание зависимостей.

Правильный порядок

  1. 1
    Уточнить симптом: какие запросы, с какого времени, насколько хуже
  2. 2
    Сопоставить с изменениями: релиз, трафик, данные, зависимости
  3. 3
    Посмотреть трейсы медленных запросов: где тратится время
  4. 4
    Проверить ресурсы и насыщение: CPU и троттлинг, память, пулы, диски
  5. 5
    Снять профиль, если время уходит внутри сервиса
  6. 6
    Выдвинуть гипотезу, изменить одно и измерить снова

Разбор

Движение от симптома к причине, от широкого к узкому. Профилировщик полезен, когда уже понятно, что время тратится внутри сервиса, а не на ожидание зависимостей. Каждое изменение проверяется измерением, иначе легко «починить» не то.

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

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