作者:@ warrenchen
1. 什么是 pprof
- golang 自带的开箱即用的性能监控和分析工具。
- pprof 通过收集 profile.proto 格式的剖面数据集并生成文字以及图片报告用来帮助可视化和分析数据。
2. 三种使用方式
通过 http 获取采样数据文件
- 在 import 中引入。
go
1. _ "net/http/pprof"
- 在main()方法中添加下面。
go
1. go func() {
2. ip := "127.0.0.1:9999"
3. if err := http.ListenAndServe(ip, nil); err != nil {
4. fmt.Print("failed to start pprof on %s\n", ip)
5. }
6. }()
- 在浏览器输入http://localhost:9999/debug/pprof/即可看到如下页面:

Plain Text
1. allocs: 会采样自程序启动所有对象的内存分配信息(包括已经被GC回收的内存)
2. block: 阻塞信息,它所记录的是 goroutine 等待

本文介绍了golang自带的性能监控工具pprof,包括其三种使用方式:通过HTTP获取采样数据,用go test采集数据,以及在代码中直接采样。此外,还详细阐述了如何通过命令行和浏览器查看采样信息,如heap、top、web、list、traces等,为性能优化提供可视化辅助。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



