http://m.shnenglu.com/sunicdavy/archive/2015/04/11/210308.html
本文介紹游戲服務(wù)器的性能分析, web服務(wù)器性能分析不在本文分析范疇之內(nèi)
Golang編寫(xiě)的服務(wù)器可以方便的通過(guò)內(nèi)建性能分析, 輸出圖表仔細(xì)查找原因, 非常的方便, 如下圖

1. 獲取一個(gè)性能分析的封裝庫(kù)
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. 注意觀(guān)察啟動(dòng)后, 命令行里的字段, 類(lèi)似于
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沒(méi)有找到, 可以在執(zhí)行前添加路徑
set path==%path%;"c:\Program Files (x86)\Graphviz2.38\bin"
posted on 2016-12-22 14:19
思月行云 閱讀(234)
評(píng)論(0) 編輯 收藏 引用 所屬分類(lèi):
Golang