← ко всем постам
2026-06-05 · #tooling

Профилирование с pprof: находим узкое место

Не гадайте, где тормозит программа — измерьте. Go поставляется с pprof, который снимает профиль CPU и памяти без сторонних инструментов.

import _ "net/http/pprof"

// pprof сам зарегистрирует хендлеры на /debug/pprof/
go http.ListenAndServe("localhost:6060", nil)

Снять и посмотреть

go tool pprof http://localhost:6060/debug/pprof/profile
# внутри: top, list имя_функции, web

Команда top покажет функции, где программа проводит больше всего времени. web нарисует граф вызовов. Обычно узкое место оказывается не там, где вы его ждали.