GO性能调优工具|青训营

73 阅读1分钟

GO性能调优

性能调优原则

  • 要依靠数据不是猜测,有时候现实跟想的不一样,测试性能也不是一两次就能出结论的,要经过多次测试。
  • 要定位最大瓶颈去优化,这样才能大大提高效率。
  • 不要过早优化,会提高开发成本
  • 不要过度优化,会使程序耦合度过高,不利于后期调整等问题。

性能调优工具:pprof

pprof是一个可视化和分析概要数据的工具。

Pprof在profile中读取一组分析样本。原型格式和生成报告,以可视化和帮助分析数据。它可以生成文本和图形报告(通过使用点可视化包)。

微信图片_20230726154032.jpg

搭建pprof实践项目

下载示例项目,GitHub地址:github.com/wolfogre/go…

会占用1CPU核心和超过1GB内存

可以看这里操作:blog.wolfogre.com/posts/go-pp…

测试结果会汇总在一个文件里头,通过以下命令来查看

go tool pprof http://localhost:6060/debug/pprof/profile

执行命令之后需要等待一段时间,然后会出现一个交互式终端,可以输入top命令查看,这些教程里面都有说

image-20230726163130675.png

flat :当前函数本身的执行耗时

flat%: flat占CPU总时间的比例

sum%: 上面每一行flat%总和,cum当前函数本身加上调用函数的总耗时

cum%:CPU占CPU总时间的比例

  • flat==cum,函数中没有调用其他函数
  • flat==0,函数中只有其他函数调用

其他方面我就没有多做研究了,知道有这个工具到时候去查就好了。