【Go】性能优化

常用命令

直接浏览器访问url

// url
https://confnode3.plaso.cn:7003/debug/pprof

点击allocs查看内存分配

image-20221120143137611

拉到底部可以看到内存分配信息

image-20221120143056588

点击goroutine查看正在运行的协程,以及数量;大致估算数量是否正确

image-20221120143723101

点击full goroutine stack dump查看是否有长时间阻塞的(搜索minutes)排查阻塞原因

  • write to nil chan

使用命令行

查看cpu

go tool pprof https://confnode3.plaso.cn:7003/debug/pprof/profile
// top
// list <函数名>
// web

top后的参数

image-20221120154004970

list查看函数调用哪一行耗cpu

image-20221120154230589

web可以以图形化界面打开,前提要安装graphviz

查看内存

go tool pprof -inuse_space https://confnode3.plaso.cn:7003/debug/pprof/heap
   -inuse_space // 默认
   -alloc_space // 所有分配过的
   -inuser_objects // 对象
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容