golang 效能測試的同時進行效能分析

2021-10-08 12:22:43 字數 885 閱讀 6867

效能測試使用benchmark,效能分析使用pprof,二者可以同時進行。

示例**:

package benchmarktest

import

("strings"

"testing"

)func

benchmarkconcatstringbyadd

(b *testing.b)

b.resettimer()

for i :=

0; i < b.n; i++

} b.

stoptimer()

}func

benchmarkconcatstringbystringsbuilder

(b *testing.b)

b.resettimer()

for i :=

0; i < b.n; i++

} b.

stoptimer()

}

在檔案所在目錄下:

只進行效能測試時執行:go test -bench=.

如果想在在效能測試的同時進行效能分析,以cpu分析為例,執行:

go test -bench=. -cpuprofile=cpu.prof

目錄下會生成cpu.prof檔案,然後執行:

go tool pprof cpu.prof

即可進入熟悉的效能分析互動模式

記憶體分析:

go test .bench=. -memprofile=mem.prof

go tool pprof mem.prof

golang 效能測試 1 基準效能測試

本文介紹golang 如何做基準效能測試。編寫完 除了跑必要的單元測試外,還需要考慮 跑起來的效能如何。效能的衡量其實就是程式執行時候程序的記憶體分配,cpu消耗情況。golang 語言在提供了功能測試的基礎上,提供了豐富的效能測試功能。首先,從乙個例子來講起。隨便寫乙個簡單的快速排序,然後和系統自...

Jmeter進行效能測試

一 分布式壓測 在單機上通過jmeter做效能測試,由於受到記憶體 cpu 網路io的限制,會出現伺服器壓力還沒有上去,但壓測伺服器已經由於模擬的壓力太大 例如併發數太大 導致宕機的情況 因此這種情況下,可以通過多台機器模擬負載實現分布式壓測。分布式壓測需要server 控制機 和agent 壓力機...

Golang單元測試 效能測試筆記

前一段時間需要對自己的專案做效能測試,於是研究了一下golang的testing包。testing包為golang package提供自動化測試的支援,通過go test命令可以執行如下形式的函式 func test testing.t 需要注意的是golang語言規範函式採取駝峰命名的方式,因此 ...