golang 性能测试pprof

Posted 星火燎原智勇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang 性能测试pprof相关的知识,希望对你有一定的参考价值。

golang 性能测试包是位于 net/http 包下的 pprof,其相关介绍可以参看具体的 官方文档

有关 golang 性能测试使用特别简单,在 main 包中的引包位置直接引入:

 import _ "net/http/pprof"

之后,在 main 函数中增加以下代码行即可:

go func() {
  log.Println(http.ListenAndServe("0.0.0.0:6060", nil))
}()

 至此,通过以上两步操作就完成了 pprof 的植入,即我们就可以进行相关的性能测试了。

  使用命令:

  go tool pprof http://localhost:6060/debug/pprof/heap  查看堆栈

  

  

  

  输入 web 命令后会自动弹出网页展示对应的 svg 图表,对应的图表显示如下所示:

  

  当程序运行起来之后,对应的端口 6060 已经处于监听状态,故我们也可以通过浏览器直接访问:http://www.localhost:6060

  具体如何查看 CPU、Memory、I/O、定时刷新 等相关信息,可以到 对应官方文档 查看使用。

  具体 svg 图是如何生成的,如何通过代码生成对应图表请参看我的另外一篇博客: graphviz 程序生成多种类型图表详解

 

以上是关于golang 性能测试pprof的主要内容,如果未能解决你的问题,请参考以下文章

Golang使用pprof和qcachegrind进行性能监控

golang 性能剖析pprof

Go 性能测试工具PProf

golang: 使用pprof做性能分析

golang: 使用pprof做性能分析

Golang pprof详解