如何使用 pprof 查看 HTTP 请求后 Web 服务器的内存使用情况

How to use pprof to see memory usage by web server after HTTP requests

net/http/pprof 的文档解释了如何创建 30 秒 CPU 分析会话并分析结果。

这允许我发起一个或多个 HTTP 请求并查看结果 CPU 我的网络应用程序的利用率。

我看到了生成堆配置文件的路径,但由于配置文件不会在 30 秒之内发生 window,我在概念上不确定它如何与我的 Web 应用程序交互。

如何 "coordinate" 堆分析器使其对应一个或多个 HTTP 请求?

我认为您不能将探查器的范围精确地限定为请求,但一种常见的方法是采用多个有意定时的堆分析。例如:

  • 在空状态下获取应用程序的单个配置文件以设置基线
  • 在应用程序加载请求(或多个请求)时获取一个配置文件(或多个配置文件)
  • 之后拍个人资料

堆配置文件的强大之处在于 pprof 允许您通过指定 2 个配置文件来 "diff" 一个配置文件!一个基本配置文件和一个辅助配置文件,用于与基本配置文件进行比较!

使用它可以很容易地看出分配的对象或总字节数的差异。