Sobes.tech
Middle+

Ինչպիսի՞ն են արտադրությունում կատարողականության խնդիրների նույնականացման և ախտորոշման միջոցները։

sobes.tech AI

Պատասխան AI-ից

  • Մոնիտորինգի մեթրիկներ:
    • Օգտագործում ներքին փաթեթներ՝ expvar (պարզ բանալի-արժեք մեթրիկներ), runtime (GC, goroutine և այլ վիճակագրություն):
    • Երրորդ կողմի գրադարաններ՝ Prometheus, Datadog, New Relic:
    • Հետևում RPS, հարցումների ուշացում, սխալներ, ռեսուրսների սպառում (CPU, RAM):
  • Պրոֆիլավորում:
    • Օգտագործում net/http/pprof փաթեթը HTTP ծառայությունների համար:
    • Օգտագործում runtime/pprof փաթեթը CPU, հիշողություն, բլոկավորումներ, goroutine պրոֆիլների համար:
    • Պրոֆիլների վերլուծություն go tool pprof գործիքի միջոցով:
    # Օրինակ `go tool pprof` օգտագործելու
    go tool pprof http://localhost:6060/debug/pprof/heap  # Հավաքածուի պրոֆիլ
    
    • Պրոֆիլավորման տեսակներ՝ CPU, Heap, Goroutine, Blocking, Mutex, ThreadCreate, Trace:
  • Տրեյսինգ:
    • Օգտագործում golang.org/x/net/trace փաթեթը:
    • Օգտագործում OpenTracing/OpenTelemetry՝ տարածված տրեյսինգի համար:
    • Հարցման ուղին համակարգում, սեղմված կետերը հայտնաբերել՝ ծառայությունների փոխազդեցության մեջ:
    // Օրինակ `trace` օգտագործելու
    import "golang.org/x/net/trace"
    
    func handleRequest(w http.ResponseWriter, r *http.Request) {
        tr := trace.New("my_service", "handleRequest")
        defer tr.Finish()
    
        // Տրեյսի իրադարձությունների գրանցում
        tr.LazyLog("Սկսում է հարցման մշակումը", false)
    
        // ... հարցման մշակման տրամաբանությունը ...
    
        tr.LazyLog("Հարցման մշակումը ավարտվեց", false)
    }
    
  • Լոգերի վերլուծություն:
    • Լոգերի հավաքում և կենտրոնական պահպանում՝ ELK Stack, Loki/Grafana:
    • Անոմալիաների, սխալների, դանդաղ հարցումների որոնում:
    • Լոգերի և տրեյսինգի ինտեգրում՝ իրադարձությունների կապելու համար:
  • Մասնագիտացված APM լուծումների օգտագործում՝
    • Dynatrace, AppDynamics, New Relic:
    • Կոմպլեքս գործիքներ՝ մոնիտորինգ, պրոֆիլավորում և տրեյսինգ:
  • Մոնիտորինգի, պրոֆիլավորման և տրեյսինգի համեմատություն:
Գործիք Նպատակը Դիտարկման մակարդակ Օվերհեդ
Մոնիտորինգ Սիստեմի ընդհանուր վիճակ, միտումներ Նվազագույն Նվազագույն
Պրոֆիլավորում Տաք կետերի հայտնաբերում (գործառույթներ, բաշխումներ) Բարձր Միջին
Տրեյսինգ Հարցման ուղին, բաղադրիչների փոխազդեցություն Միջին Միջին/Բարձր
  • Բեռնաթափման փորձարկումներ՝ նախքան արտադրական տեղաշարժը:
  • Օգտագործում go testGo Dog պլագինը՝ ֆունկցիաների և մեթոդների բենչմարկինգ:
  • Հիշողության դամպների հավաքում և վերլուծություն՝ հիշողության լիքների կամ գերազանց սպառման հայտնաբերման համար։