本文介紹游戲服務(wù)器的性能分析, web服務(wù)器性能分析不在本文分析范疇之內(nèi)
Golang編寫的服務(wù)器可以方便的通過內(nèi)建性能分析, 輸出圖表仔細(xì)查找原因, 非常的方便, 如下圖
1. 獲取一個(gè)性能分析的封裝庫
go get github.com/davecheney/profile
2. 在工程內(nèi)import這個(gè)組件
3. 在main中添加啟動(dòng)和停止入口
func main() {
defer profile.Start(profile.CPUProfile).Stop()
// ... your main code here ...
}
4. 重新編譯工程, 運(yùn)行
5. 注意觀察啟動(dòng)后, 命令行里的字段, 類似于
2013/08/08 16:45:58 profile: cpu profiling enabled, /tmp/profile882806532/cpu.pprof
后面的路徑就是pprof性能分析文件的位置, 啟動(dòng)機(jī)器人進(jìn)行多次服務(wù)器測(cè)試用例, 停止機(jī)器人, Ctrl+C中斷服務(wù)器
6.將cpu.pprof拷貝到你的游戲exe所在位置
7.下載并安裝Graphviz, 這是將分析數(shù)據(jù)變成上圖的圖形化工具
8.調(diào)用Graphviz制作文檔
go tool pprof --pdf gamesvc.exe cpu.pprof > report.pdf
如果dot沒有找到, 可以在執(zhí)行前添加路徑
set path==%path%;"c:\Program Files (x86)\Graphviz2.38\bin"