学习文章:滴滴实战分享:通过 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工具进行性能点查看,找到主要消耗点,就是优化过程完成了一大半
go工具使用(一) 通过 profiling 定位 golang 性能问题
原文:https://www.cnblogs.com/Bin-DuS/p/12612451.html