Go程式效能分析pprof

2021-06-19 06:30:37 字數 652 閱讀 4772

參考:

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...