Карточка Middle Производительность и профилирование обновлено
On-CPU и off-CPU
Вопрос
Чем on-CPU профиль отличается от off-CPU?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
On-CPU: где поток выполнялся на процессоре, ищет горячие функции, когда CPU загружен. Off-CPU: где поток был заблокирован (ввод-вывод, блокировки, ожидание сети, сон), ищет причины медленности при свободном CPU.
Ответ
On-CPU: где поток выполнялся на процессоре, ищет горячие функции, когда CPU загружен. Off-CPU: где поток был заблокирован (ввод-вывод, блокировки, ожидание сети, сон), ищет причины медленности при свободном CPU. Вместе они дают полное время запроса.
Разбор
Для Go аналогами off-CPU служат профили block и mutex, для JVM режимы wall-clock и lock в async-profiler.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.