服务性能分析
...
...
...
...
...
...
...
...
...
...
...
...
PProf
页面
简单的性能分析我们直接访问/debug/pprof
地址即可,内容如下: 1. pprof
页面
![](https://gfcdn.johng.cn/images/Selection_005.png?v=19)
堆使用量
当前进程中的
goroutine
详情
性能采集分析
如果想要进行详细的性能分析,基本上离不开go tool pprof
命令行工具的支持,在开启性能分析支持后,我们可以使用以下命令执行性能采集分析:
go tool pprof "http://127.0.0.1:8199/debug/pprof/profile"
执行后pprof
工具经过约30秒左右的接口信息采集(这30秒期间WebServer
应当有流量进入,我们这里不停地访问hello world页面以作测试),然后生成性能分析报告,随后可以通过top10
/web
等pprof命令查看报告结果,更多命令可使用go tool pprof
查看。关于pprof
的详细使用介绍,请查看golang官方:blog.golang.org/profiling-go-programs
本示例中的命令行性能分析结果如下:
...
...
...
...
其中web
命令用以图形展示接口之间的调用关系以及性能情况,但是需要安装Graphviz
图形化工具,以我目前的系统为Ubuntu
为例,直接执行sudo apt-get install graphviz
命令即可安装完成图形化工具,随后再次使用web
命令,最终生成以下图表:
...