首页 > 代码库 > 使用Golang进行性能分析(Profiling)
使用Golang进行性能分析(Profiling)
转自:http://www.cppblog.com/sunicdavy/archive/2015/04/11/210308.html
本文介绍游戏服务器的性能分析, web服务器性能分析不在本文分析范畴之内
Golang编写的服务器可以方便的通过内建性能分析, 输出图表仔细查找原因, 非常的方便, 如下图
1. 获取一个性能分析的封装库
go get github.com/davecheney/profile
2. 在工程内import这个组件
3. 在main中添加启动和停止入口
func main() { defer profile.Start(profile.CPUProfile).Stop() // ... your main code here ...}
4. 重新编译工程, 运行
5. 注意观察启动后, 命令行里的字段, 类似于
2013/08/08 16:45:58 profile: cpu profiling enabled, /tmp/profile882806532/cpu.pprof
后面的路径就是pprof性能分析文件的位置, 启动机器人进行多次服务器测试用例, 停止机器人, Ctrl+C中断服务器
6.将cpu.pprof拷贝到你的游戏exe所在位置
7.下载并安装Graphviz, 这是将分析数据变成上图的图形化工具
8.调用Graphviz制作文档
go tool pprof --pdf gamesvc.exe cpu.pprof > report.pdf
如果dot没有找到, 可以在执行前添加路径
set path==%path%;"c:\Program Files (x86)\Graphviz2.38\bin"
使用Golang进行性能分析(Profiling)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。