Go pprof

pprof 是 Go 常用的性能剖析工具,用于定位 CPU、内存和 goroutine 等运行时热点,而不是靠猜测做优化。

#type / concept #status / growing #tech / dev #resource / go

[!info] related notes

Go pprof

一句话定义

pprof 是 Go 生态中最常用的一套性能剖析工具,用来定位 CPU、内存、阻塞和 goroutine 等运行时热点。

核心机制 / 工作原理

pprof 的核心作用不是“自动提速”,而是回答:

  • 时间主要花在哪里
  • 内存主要被谁占用
  • 哪些函数调用路径最重
  • 哪些 goroutine 或阻塞点最值得先查

这让性能优化从“拍脑袋改代码”变成“基于热点证据做判断”。

最小例子 / 最小场景

一条常见工作流是:

  1. 先用 benchmark 或线上现象发现性能问题
  2. 再采集 pprof 数据
  3. 根据热点路径决定优化目标

为什么它重要

很多 Go 程序一旦进入服务端、高并发或大数据处理场景,性能问题往往不是语法级能看出来的。没有剖析工具,优化很容易变成无效劳动。

边界与易混淆点

  • pprof 告诉你“热点在哪”,不自动告诉你“应该怎么改”
  • 看见某个函数占比高,不一定代表它就是问题根因
  • profiling 应该和基线、测试和业务目标一起看
创建于 2026/6/20 更新于 2026/6/20