В этом видео мы разберем профилирование в Go от «А» до «Я» — как находить узкие места в коде, оптимизировать потребление памяти и использовать данные о работе приложения для автоматического ускорения компиляции.
В этом уроке:
Теория профилирования: зачем это нужно, что такое баттлнеки и в чем разница между инструментацией и самплированием.
Работа с pprof: как собирать профили CPU и памяти локально и через HTTP-эндпоинты прямо на лету.
Визуализация данных: учимся читать графы вызовов и Flame Graphs, разбираемся в метриках Flat и Cumulative.
Профилирование блокировок: как находить задержки в мьютексах и каналах, ограничивающие пропускную способность системы.
Трассировка (Execution Trace): глубокий анализ работы планировщика и сборщика мусора (GC) для борьбы со спайками нагрузки.
Continuous Profiling: как организовать постоянный сбор и сравнение профилей в реальных тех-компаниях с помощью инструментов вроде Pyroscope.
Оптимизация PGO: ускоряем приложение на 2-14%, скармливая профили компилятору Go.
В итоге у тебя будет полное руководство по поиску и устранению проблем производительности: от понимания сигналов операционной системы до практических кейсов использования sync.Pool и тонкой настройки компилятора