參考:
go語言的pprof是google c++ profiler的移植,所以用法也差不多。這裡簡要記錄步驟如下:
1. **
import (
"runtime/pprof" // 引用pprof package
"os"
)func main()
2. 執行
執行程式,生成profile檔案
3. 分析
在命令列上執行:
go tool pprof [binary] [profile]進入pprof環境後,可以用help命令檢視幫助資訊
最常用的命令如top10,可以看最耗時的function
這裡詳細解釋一下top命令的輸出格式,例如:
14 2.1% 17.2% 58 8.7% std::_rb_tree::find
各字段的含義依次是:
1. 取樣點落在該函式中的次數
2. 取樣點落在該函式中的百分比
3. 上一項的累積百分比
4. 取樣點落在該函式,以及被它呼叫的函式中的總次數
5. 取樣點落在該函式,以及被它呼叫的函式中的總次數百分比
6. 函式名
Go程式效能優化及pprof使用方法詳解
go 程式的效能優化及 pprof 的使用 程式的效能優化無非就是對程式占用資源的優化。對於伺服器而言,最重要的兩項資源莫過於 cpu 和記憶體。效能優化,就是在對於不影響程式資料處理能力的情況zgcybgs下,我們通常要求程式的 cpu 的記憶體占用盡量低。反過來說,也就是當程式 cpu 和記憶體...
golang程式效能分析
vegeta是乙個用go語言編寫的多功能的http負載測試工具,提供命令列工具和開發包。安裝見vegeta 說明。usage vegeta global flags command flags global flags cpus int 使用cup的數量 預設4 個 profile string e...
python程式效能分析
目錄 python m cprofile o output file s sort order m module myscript.py o將結果輸出到檔案而不是stdout s排序狀態,選擇那些引數排序,常用 tottime m作為乙個模組而不是指令碼,python3.7的cprofile中有,p...