Sobes.tech
Junior — Middle

Ինչպե՞ս կարելի է որոշել ծրագրի արդյունավետությունը։

sobes.tech AI

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

Go-ով ծրագրի արդյունավետությունը կարելի է գնահատել մի քանի հիմնական չափանիշներով.

  • Արդյունավետություն (գործարկման արագություն) — չափվում է գործողությունների կամ ամբողջ ծրագրի կատարման ժամանակով:
  • Հիշողության օգտագործում — որքան հիշողություն է սպառում ծրագիրը աշխատելու ժամանակ:
  • CPU բեռ — CPU-ի օգտագործման տոկոսը:
  • Պատասխան ժամանակ — հատկապես կարևոր է սերվերային ծրագրերի համար:
  • Աշխատած հարցումների քանակը մեկ ժամանակահատվածում (throughput):

Go-ում չափում և պրոֆիլավորում հաճախ օգտագործվում է ներքին pprof փաթեթը, որը թույլ է տալիս հավաքել CPU, հիշողության և բլոկների պրոֆիլներ:

Օրինակ՝ pprof-ի օգտագործման:

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

func main() {
    go func() {
        log.Println(http.ListenAndServe("localhost:6060", nil))
    }()
    // հիմնական ծրագրի տրամաբանությունը
}

Սկսելուց հետո կարող եք բացել http://localhost:6060/debug/pprof/ հասցեն՝ պրոֆիլները դիտելու համար:

Նույնպես, կարելի է օգտագործել երրորդ կողմի մոնիտորինգի և լոգավորման գործիքներ՝ իրական ժամանակում չափանիշներ հավաքելու համար: