Go性能分析-pprof
创作时间:
作者:
@小白创作中心
Go性能分析-pprof
引用
1
来源
1.
https://www.cnblogs.com/xuwenjin/p/18128049
背景
Go语言的性能分析工具pprof,公司很多人写过相关介绍,本文主要是做一个总结及完善。
说明:要使用pprof,需要先注册(比如注册到Gin的80端口)
相关文档
pprof使用
pprof 网页地址
默认地址:http://
profile项 | 说明 | 其他 |
---|---|---|
allocs | 采样某段事件内所有分配过的内存。默认是程序启动到现在 | 不指定是生成protobuf二进制文件 ?debug=1 以文本方式查看 ?seconds=30 30秒内的内存情况 |
block | 查看导致阻塞的堆栈跟踪 | 类似allocs |
cmdline | 当前程序的命令行完整调用路径 | |
goroutine | 查看当前所有运行的goroutine堆栈 | 不指定是生成protobuf二进制文件 ?debug=1 查看goroutine数量 ?debug=2 查看每个goroutine 详细信息 ?seconds=30 30秒内的goroutine堆栈情况 |
heap | 查看活动对象的内存分配情况 | 类似allocs |
mutex | 查看导致互斥锁的竞争持有者的堆栈跟踪 | 类似allocs |
profile | 追踪不同函数占用CPU的时间(得到一个profile文件)。默认30秒 | 可以使用 go tool pprof 命令分析profile文件 |
pprof 性能分析命令
性能采集
默认开启30秒的采集(采集期间,会阻塞住,在这个时间内进行的操作就会被采集进去):
采集运行耗时
go tool pprof http://172.16.16.127:8012/debug/pprof/profile?seconds=30
采集运行内存
go tool pprof http://172.16.16.127:8012/debug/pprof/heap?seconds=30
执行后,会出现 pprof 交互:
top 命令
命令 | 说明 |
---|---|
top | 默认展示10个,按flat排序 |
top 5 | 展示5个,按flat排序 |
top 5 -cum | 展示前5个,按cum排序 |
参数说明:
- flat:一个函数内的directly操作的耗时(不包含子函数运行耗时)
- cum:一个函数内的所有操作的耗时(包含子函数运行耗时)
查看函数具体耗时/内存
网页查看
执行如下命令(随便一个都可以):
go tool pprof -http=:8001 http://172.16.16.127:8012/debug/pprof/profile
go tool pprof -http=:8001 cpu.out
go tool pprof \-http=:8001 pprof/pprof.service-ids.samples.cpu.009.pb.gz
这会启动一个web服务器,并自动打开一个网页(端口自定义):
说明:
- VIEW
- Top:跟上面的top命令作用一样,点击表头可以很方便的排序
- Graph:方法耗时流程图(cpu占用时长)
- Flame Graph:方法耗时火焰图
- Peek:类似于Top从高到底,多了calls、context等
- SAMPLE
- samples:采样期间运行次数
- cpu:采样期间运行时间(默认)
热门推荐
村委会财务管理制度:规范与监督
C语言堆栈溢出:原因、预防与检测方法详解
人工培育螺旋藻含B12水平与牛肉相当
3岁孩子血压高压98低压55是否正常
减脂运动类型,减脂运动类型有哪些
短线横盘的应对策略有哪些?这些策略在不同市场环境下的效果如何?
1660ti跟3060差距大吗
论文写作必修课:9个强化观点表达的实用技巧
单焦点人工晶体是什么?种类有哪些?优缺点是什么?价格多少钱 ?
吏部尚书 兵部尚书 户部尚书谁的地位高?结果可能跟你想的不一样
Git 下载问题及解决方法
告别难“咽”之隐——聊聊吞咽障碍那些事
投档/退档/滑档/服从调剂/平行志愿是什么意思?一文看懂
研究揭示6000年来罗布泊盐湖高盐水体演化与吸收再循环碳机制
基于光谱数据的特征提取与选择技术
T1登顶无畏契约曼谷大师赛 EDG刷新中国赛区历史纪录
退休人员可以申请成立公司吗
影响电流对人体伤害程度的其他因素
如何查看满月吉日的天干地支:黄历查询指南
年五月怎么计算出年和月的天干地支详细步骤说明
口腔发炎肿胀怎么办?专业解析成因、症状与解决之道
天秤座女生能忍受结婚后和公婆同住吗
三个接线柱的三相电机接线方法详解
春季多吃这4种肉,营养滋补不发胖,应季而吃,身体更健康
甲钴胺注射液治疗什么病
中国戏剧如何进行跨文化对话?
联合国人权理事会第57届会议边会:提升全球孤独症关注意识
“壮而不悲”的哈工大:一直很强,何来没落
迟日的诗句有哪些,探寻古典诗词中的时光之美
迟日的诗句有哪些,探寻古典诗词中的时光之美