Sobes.tech
Junior — Middle

Quais métodos e ferramentas você utilizou para analisar e determinar as causas dos problemas de carga nos sistemas?

sobes.tech IA

Resposta da IA

Para analisar problemas de carga em sistemas em Go, normalmente utilizam-se os seguintes métodos e ferramentas:

  • Profiling com pprof — pacote integrado do Go para CPU, memória, bloqueios e goroutines. Permite identificar gargalos no código.
  • Registo e métricas — recolha de dados sobre tempos de resposta, número de pedidos, erros usando Prometheus, Grafana.
  • Tracing (traceração) — uso de OpenTelemetry ou Jaeger para análise de pedidos distribuídos.
  • Testes de carga — ferramentas como Apache Bench, Vegeta ou k6 para simular carga real e determinar limites de desempenho.

Exemplo de como iniciar pprof para perfil de CPU:

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

func main() {
    go func() {
        log.Println(http.ListenAndServe("localhost:6060", nil))
    }()
    // código principal da aplicação
}

Depois, pode-se conectar a http://localhost:6060/debug/pprof/ e recolher o perfil para análise.