效能測試使用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語言規範函式採取駝峰命名的方式,因此 ...