Sobes.tech
Junior — Middle

Akými metódami a nástrojmi ste analyzovali a určovali príčiny problémov s zaťažením v systémoch?

sobes.tech AI

Odpoveď od AI

Pre analize problémov s zaťažením v systémoch na Go sa zvyčajne používajú nasledujúce metódy a nástroje:

  • Profilovanie pomocou pprof — zabudovaný balík Go pre CPU, pamäť, zámky a gorutiny. Umožňuje identifikovať úzke miesta v kóde.
  • Záznam a metriky — zber dát o čase odozvy, počte požiadaviek, chybách pomocou Prometheus, Grafana.
  • Tracing (trasovanie) — použitie OpenTelemetry alebo Jaeger na analýzu distribuovaných požiadaviek.
  • Záťažové testovanie — nástroje ako Apache Bench, Vegeta alebo k6 na simuláciu reálnej záťaže a stanovenie výkonových limitov.

Príklad spustenia pprof pre CPU profil:

import (
    "net/http"
    _ "net/http/pprof"
)

func main() {
    go func() {
        log.Println(http.ListenAndServe("localhost:6060", nil))
    }()
    // hlavný kód aplikácie
}

Potom sa dá pripojiť na http://localhost:6060/debug/pprof/ a zozbierať profil na analýzu.