golang 性能测试pprof

liang1101 · · 857 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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 程序生成多种类型图表详解

 


有疑问加站长微信联系(非本文作者)

本文来自:博客园

感谢作者:liang1101

查看原文:golang 性能测试pprof

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

857 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传