GolangNote

Golang笔记

使用Profiling 分析Go 程序的瓶颈

Permalink

Golang 使用 Profiling 来分析程序的瓶颈的方法很简单。

引入后在main 里添加一行

Go: profile
1
2
3
4
5
6
import "github.com/davecheney/profile"

func main() {
    defer profile.Start(profile.CPUProfile).Stop()
    ...
}

首先运行 go build ,然后跑程序,程序开始时会有提示:

Bash: profile
1
profile: cpu profiling enabled, /tmp/profile488201610/cpu.pprof

程序终止后查看结果:

Bash: pprof
1
go tool pprof -raw /tmp/profile488201610/cpu.pprof

项目 https://github.com/davecheney/profile

本文网址: https://golangnote.com/topic/98.html 转摘请注明来源

Related articles

Golang Web 程序生产环境独立部署示例

一个 web 应用通常是跑在一个前端代理,如 Nginx 后,这样可以方便的在同一个服务器部署多个应用。这里说的独立部署是指让 go web 程序直接暴露在外面,独占 443、80 端口(俗称裸跑)。这样做除了性能有些提高外,更重要的是部署方便。...

Go Modules 使用备忘

简单说 Go Modules 就是包管理,从 go1.11 开始支持,可以不需要gopath存在,环境变量`GO111MODULE`,默认为 `auto` 项目存在 `go.mod` 则使用 go module ,否则使用GOPATH 和 vendor 机制。...

Write a Comment to "使用Profiling 分析Go 程序的瓶颈"

Submit Comment Login
Based on Golang + fastHTTP + sdb | go1.22.3 Processed in 0ms