Přeskočit na obsah
_CORE
AI & agentní systémy Podnikové informační systémy Cloud & Platform Engineering Datová platforma & integrace Bezpečnost & compliance QA, testování & observabilita IoT, automatizace & robotika Mobilní & digitální produkty Bankovnictví & finance Pojišťovnictví Veřejná správa Obrana & bezpečnost Zdravotnictví Energetika & utility Telco & média Průmysl & výroba Logistika & e-commerce Retail & věrnostní programy
Reference Technologie Blog Know-how Nástroje
O nás Spolupráce Kariéra
CS EN DE
Pojďme to probrat

Go profiling s pprof: praktický průvodce

23. 06. 2024 Aktualizováno: 27. 03. 2026 1 min čtení intermediate

Go má skvělé zabudované profiling nástroje. Jak je použít.

Aktivace pprof

import _ “net/http/pprof” go func() { log.Println(http.ListenAndServe(“:6060”, nil)) }()

CPU profiling

go tool pprof http://localhost:6060/debug/pprof/profile?seconds=30

Memory

go tool pprof http://localhost:6060/debug/pprof/heap

Goroutines

curl http://localhost:6060/debug/pprof/goroutine?debug=1

Flame graphs

go tool pprof -http=:8080 cpu.prof

Benchmarky

func BenchmarkMyFunc(b *testing.B) { for i := 0; i < b.N; i++ { MyFunc() } } go test -bench=. -benchmem

Optimalizace

  • sync.Pool pro opakované alokace
  • Prealokace slices
  • strings.Builder
  • Buffered channels

Praktický workflow profiling

Při optimalizaci Go aplikace postupujte systematicky: nejprve identifikujte bottleneck pomocí CPU profilu, poté analyzujte alokace pomocí heap profilu. Flame graph vizualizuje call stack a ukazuje, kde aplikace tráví nejvíce času — široké bloky znamenají horké cesty.

Go runtime poskytuje také trace nástroj (go tool trace), který zobrazuje detailní timeline goroutin, GC pauz a scheduler aktivit. Pro produkční aplikace povolte continuous profiling pomocí Pyroscope nebo Parca — sbíráte profily s minimálním overheadem a můžete analyzovat výkon retroaktivně. Klíčové optimalizace v Go: používejte sync.Pool pro opakované alokace, prealokujte slices s make([]T, 0, expectedSize) a preferujte strings.Builder před string konkatenací.

Shrnutí

pprof je zabudovaný a výkonný. CPU + heap stačí na 90 % problémů.

goperformanceprofiling
Sdílet:

CORE SYSTEMS tým

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.