go工具使用(一) 通过 profiling 定位 golang 性能问题

学习文章:滴滴实战分享:通过 profiling 定位 golang 性能问题 - 内存篇

主要代码:在main包中添加如下代码,使用golang标准库提供的性能分析

import _ "net/http/pprof"
go func(){
    http.ListenAndServe(":521",nil)
}()

 在命令行执行

brew install graphviz # 安装graphviz,只需要安装一次就行了
go tool pprof -http=:1234 http://192.168.40.14:521/debug/pprof/profile?seconds=30 # 192.168.40.14 根据自己实际IP进行添加

展示我的优化成果

优化前GetLocalIP的耗时最多

查看代码,每次直接获取,调用runtime.cgocall 耗时比较多

优化过程,使用单例模式进行优化

优化后效果 GetLocalIP已经不是主要耗时点了,性能得到大大提升

结语:主要学习使用go pprof工具进行性能点查看,找到主要消耗点,就是优化过程完成了一大半

posted @ 2020-04-01 14:36  杜争斌  阅读(685)  评论(0编辑  收藏  举报