Go 性能调优(pprof)

Go/pprof 性能调优

总结:

性能调优的两个方向:CPU 和 内存

工具:`go tool pprof cpu.pprof``go tool pprof mem.pprof`

 图:调用图 和 火焰图

1.Go语言内置了获取程序的运行数据的工具,包括以下两个标准库:

1.runtime/pprof : 采集工具型应用运行数据进行分析

2.net/http/pprof:  采集服务型应用运行时数据进行分析

2.性能调优原理: pprof 开启后,每隔一段时间(10ms)就会收集下当前的堆栈信息,获取各个函数占用的CPU以及内存资源;最后通过这个采集数据进行分析,形成一个性能分析报告。

3.注意:我们只应该在性能测试的时候才在代码中引用pprof.

注:如果你使用的是gin框架推荐用
github.com/DeanThompson/ginpprof

4.性能分析
a.go tool pprof 命令
[learnstuday\day13\11pprof_demo]

1. pprof_demo.exe -cpu=true
2. go tool pprof [binary] [source]

b.图形化
1.graphviz
go tool pprof [binary] [source]进入,直接输入web,通过浏览器svg图的方式查看程序中详细的CPU占用情况。

2.火焰图(Flame Graph)和go-torch
火焰图使用go-torch工具(uber开源的工具),可以直接读取 golang profiling 数据,并生成一个火焰图的svg文件

注:要生成火焰图,需要事先安装 FlameGraph工具,这个工具的安装很简单(需要perl环境支持),只要把对应的可执行文件加入到环境变量中即可。


转载:https://www.liwenzhou.com/posts/Go/performance_optimisation/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值