Vienetas 4 / 11

Pajėgumų ir našumo stebėjimas: metrikų skaitymas ir ateities planavimas

Pelnas:

  • Gebėjimas teisingai interpretuoti metrikas naudojant dirbtinio intelekto palaikymą, naudojant procentilį (p95/p99) ir bazinę liniją, o ne vidurkį
  • Galimybė atskirti sezoniškumą nuo tendencijų ir pateikti pajėgumų prognozę kaip optimistinį-pesimistinį diapazoną, o ne vieną skaičių
  • Supratimas, kad investicijų į išteklius ir pavojaus slenksčio sprendimai yra žmogaus, kartu su išteklių paruošimo laiku ir verslo kontekstu.

Pajėgumų ir našumo stebėjimas: metrikos skaitymas naudojant AI ir ateities planavimas

You can't see the health of a system with your own eyes; Jūs tai suprantate per metrikas. Metrika yra nuo laiko priklausoma skaitinė išmatuojamų sistemos charakteristikų reikšmė: procesoriaus naudojimas, atminties užimtumas, laisvos vietos diske, tinklo delsa, užklausos per sekundę. Performance monitoring continuously collects these metrics and answers the question "is the system OK now?" Pajėgumų planavimas žengia dar vieną žingsnį toliau: jis atsako į klausimą „kada tokiu tempu tapsiu nepakankamas, kada turėčiau įsigyti naujų išteklių? Here, AI is a highly skilled assistant in interpreting piles of metrics, marking anomalies, reading the trend and producing future projection. But one caveat prevails above all: AI extracts patterns from historical data; You are the one making resource investment, scaling, and alert threshold decisions with context.

In this unit, monitoring concepts such as baseline (normal behavior line), anomaly (deviation from normal), percentile (percentile); Metrinė interpretacija su AI; tendencijos ir augimo prognozė; and you will learn to set the correct alarm threshold.

Vidurkis meluoja: kodėl procentilis?

Dažniausia sekimo klaida – viską matuoti vidurkiu. Let's say your response time is 200 ms on average. Skamba gerai. Tačiau 5% vartotojų gali laukti 8 sekundes; Vidurkis tai slepia. That's why professionals use percentile: p95 = "95% of requests are below this time period." If the p95 response time is 8 seconds, one in twenty users is having a terrible experience — the average never shows that. Pateikdami DI metriką, aiškiai nurodykite, kokios statistikos norite: „interpretuokite p50, p95 ir p99 man, o ne vidurkį“. Šis vienas įprotis atskleidžia paslėptas problemas.

Patarimas: peržiūrėkite kiekvienos metrikos, susijusios su naudotojo patirtimi (reakcijos laikas, delsa), procentilį; p95/p99, o ne vidutinis, pateks į tikrą kenčiančią mažumą. Išteklių metrikoje (procesoriaus, atminties) žiūrėkite ir didžiausias, ir ilgalaikes vertes.

Nėra anomalijos be pagrindo

Kad nustatytumėte, ar metrika yra „nenormali“, turite žinoti „normalią“. Pradinė padėtis yra tipiškas sistemos elgsenos diapazonas sveikomis dienomis: „šios paslaugos darbo dienos vidurdienį CPU paprastai yra 40–60 %“. Be bazinės linijos negalite žinoti, ar 70 % vertė yra baisu, ar normalu. Galite nustatyti bazinę liniją pateikdami istorinius sveikus duomenis AI ir sakydami „ištraukite įprastą šios metrikos diapazoną ir dienos / savaitės modelį“. Tada interpretuojate naujus duomenis pagal šią bazinę liniją: "kur ši vertė yra normali?" Anomalija yra reikšmingas ir ilgalaikis nukrypimas nuo pradinio lygio – vienas staigus šuolis dažnai yra triukšmas.

Žingsnis po žingsnio: pajėgumų projekcija

  1. Surinkite švarią ir tinkamą istoriją. Tendencijai reikia bent kelių savaičių duomenų, geriausia kas mėnesį. Projekcija, padaryta naudojant mažai duomenų, yra spėjimas, o ne prognozė.
  2. Atskiras sezoniškumas. Eismas mažėja savaitgalį, padidėja mėnesio pabaigoje ir sprogsta kampanijos metu. Nurodykite AI šiuos ciklus, kad jis nepainiotų augimo su sezoniniais svyravimais.
  3. Atsikratykite tendencijos. "Kiek GB vidutiniškai šis diskas išaugo per savaitę per pastarąsias 8 savaites?" AI apskaičiuoja augimo greitį.
  4. Paprašykite projekcijos, išskirkite ją. "Kada diskas bus užpildytas 90% tokiu greičiu?" - bet paprašykite optimistinio / pesimistinio diapazono, o ne vienos datos. Ateitis neaiški; nelyginis skaičius yra klaidingas tikslumas.
  5. Su žmonėmis nustatykite apsisprendimo slenkstį. Jei projekcijoje parašyta „Bus baigta per 6 savaites“, apsvarstykite tiekimo laiką (pirkimas, patvirtinimas) ir nuspręsite, ar imtis veiksmų šiandien.
  6. Teisingai nustatykite žadintuvą. Very sensitive alarm produces noise and alarm fatigue; per laisvas signalizacija praleis renginį. Get a threshold recommendation from the AI, but determine the final threshold with your own risk tolerance.

trys mini dėklai

1 atvejis – vidutinis paslėptas, parodytas 99 p. One team thought their API was "180 ms on average, just fine." Kai pateikiau metriką AI ir paprašiau procentilio interpretacijos, paaiškėjo, kad p99 yra 6 400 ms - vienas iš šimto užklausų buvo lėtesnis nei 6 sekundės. Pagrindinė priežastis buvo lėta duomenų bazės užklausa. While the average appeared healthy, the minority had a terrible experience.

2 atvejis – projekcija įspėta prieš 3 savaites. Administratorius AI perdavė žurnalo disko užimtumo duomenis. AI padarė išvadą, kad savaitės augimo tendencija yra ~ 7 GB, ir prognozavo, kad esant dabartiniam tempui, 90% bus pasiekta per 19 dienų, o optimistinis-pesimistinis intervalas yra 16–23 dienos. Kadangi naujiems diskams pristatyti prireikė 10 dienų, komanda nedelsdama užsisakė ir užkirto kelią gedimui dar jam neįvykus.

3 atvejis – grįžimas iš klaidingos anomalijos. Kiekvieną sekmadienio vakarą suskambėjo stebėjimo signalas, sakydamas, kad CPU pakyla iki 95%. Prieš panikuodamas, inžinierius AI pakėlė pradinį lygį: šis šuolis buvo suplanuotas atsarginis darbas, kuris vyko kiekvieną savaitę tuo pačiu metu, todėl tai buvo norma. Tai nebuvo anomalija; trūko bazinio lygio. Pavojaus slenkstis tam laikotarpiui buvo pakoreguotas ir nebereikalingi naktiniai pabudimai.

Keturi kopijuojami šablonai

1) Metrikos interpretacija (procentilis):

Žemiau yra [paslaugos] atsako laiko metrika (užmaskuota). Komentuokite man p50, p95 ir p99, o ne vidurkį. Ką reiškia p99 ir p50 skirtumas, kokią vartotojo patirties problemą tai rodo? Nepridėkite sugalvotų verčių, tiesiog interpretuokite duomenis, kuriuos jums duodu. Duomenys: [metrika]

2) Pradinė atimtis:

Toliau pateikiami paskutinių 4 savaičių sveiki [metrikos] duomenys. Ištraukite (1) normalų diapazoną (2) šios metrikos dienos ir savaitės modelius (pvz., nakties žemumas, vidurdienis). Tada duosiu vieną naują vertę; klasifikuokite jį kaip „normalus/atsargiai/nenormalus“, remdamiesi šia bazine linija.Duomenys: [istorinė metrika]

3) Talpos projekcija (su diapazonu):

Toliau pateikiami paskutinių 8 savaičių [išteklių] užimtumo duomenys. (1) Apskaičiuokite vidutinį savaitės augimo tempą, (2) nurodykite sezoninius efektus, (3) įvertinkite laiką, per kurį pasieksite 90 % slenkstį pagal dabartinį tempą su OPTIMISTIŠKU ir PESIMISTIŠKU intervalu. Nurodykite vieną datą, nurodykite intervalą ir užsirašykite savo prielaidas. Duomenys: [laiko eilutė]

4) Pavojaus slenksčio rekomendacija:

Mano [metrikos] bazinė linija yra [diapazonas]. Mano tikslas – sumažinti klaidingų pavojaus signalų skaičių neprarandant tikrų problemų. Pateikite man rekomendaciją dėl (1) įspėjimo ir (2) kritinės slenksčio, pagrįsdami kiekvieną ir įvertindami pavojaus signalo nuovargio riziką. Aš nustatysiu galutinę slenkstį.

Silpnas raginimas / Stiprus raginimas

Silpnas raginimas:

Ar mano serveris lėtas?

Nėra konteksto, metrikos ir bazinės padėties. AI nežino „lėto“ apibrėžimo ir neturi normalios vertės, su kuria būtų galima palyginti. Atsakymas yra tuščias spėjimas.

Galingas raginimas:

Jūsų vaidmuo: pajėgumų planavimo specialistas. Below is the last 14 days of p95 response time and requests/second data of an API (masked). Mano pradinė linija yra 250–400 ms p95. Pasakykite man (1) pažymėkite dienas, kurios per pastarąsias 14 dienų nukrypo nuo pradinio lygio, (2) pasakykite man, ar yra matomas ryšys tarp atsako laiko ir užklausos apkrovos (kaip hipotezę), (3) numatykite, kur p95 pasieks per 30 dienų, jei ši tendencija tęsis. Duomenys: [laiko eilutė]

Metrinis tipas

neteisingas matavimas

tikslus matavimas

atsako laikas

Tiesiog vidutinis

50, 95, 99 p

CPU/atmintis

momentinė vertė

Didžiausias + ilgalaikis + pradinis lygis

disko augimas

Šiandienos užimtumas

Savaitės tendencija + projekcija

Anomalija

vienas atšokimas

Nuolatinis nukrypimas nuo pradinio lygio

signalizacija

Savavališkas vienas slenkstis

Pagrįstas įspėjimas + kritinė riba

Dažnos klaidos

  • Viską matuojant vidurkiu. Vidurkis slepia blogą nedaugelio patirtį; Žiūrėti procentilį.
  • Ieškoma anomalijų be bazinės linijos. You cannot say that a value is abnormal without knowing what is normal; Sukuriate klaidingą aliarmą.
  • Sezoniškumo klaidinimas su tendencija. Treating the campaign peak as permanent growth and taking unnecessary resources costs money.
  • Remdamiesi nelyginių skaičių projekcija. „Lygiai 19 dienų“ yra klaidingas tikslumas; Naudokite optimistinį-pesimistinį diapazoną.
  • Pamiršus tiekimo laiką. The team that does not consider the projection threshold and purchasing time together will be caught in the interruption.
Caution: AI's trend projection assumes that the past will continue into the future. A new product launch, a customer migration, or an architectural change disrupts this assumption. It's your job to correct the projection with your context.

Apibendrinant

Veiklos stebėjimas atsako į klausimą "ar dabar gerai?" o pajėgumų planavimas atsako į klausimą "kada nepakanka?" AI yra galingas partneris interpretuojant metrikas, nustatant bazines linijas, pažymint anomalijas ir numatant tendencijas. Tačiau vidutinis melas – naudokite procentilį; Be pradinio lygio nėra anomalijos – pirmiausia nustatykite normalų; atskirti sezoniškumą nuo tendencijos; ir projekciją imkite kaip diapazoną, o ne vieną skaičių. Sprendimai dėl investicijų į išteklius ir įspėjimo slenksčio yra žmogaus, kartu su išteklių paruošimo laiku ir verslo kontekstu.

Taikymo užduotis

Paimkite paskutines kelias savaites iš savo sistemų išteklių (disko, atminties, atsako laiko) duomenis ir užmaskuokite jautrias sritis. Atimkite įprastą diapazoną ir modelį naudodami aukščiau pateiktą šabloną „Pagrindinė atimtis“. Tada leiskite „Pajėgumo projekcijos“ šablonui numatyti, kada pasieksite slenkstį su optimistiniu-pesimistiniu diapazonu. Be to, atsakymo laiko metriką interpretuokite naudodami „procentilio“ šabloną ir pažiūrėkite, ar vidurkis nieko neslepia. Užrašykite savo atradimus ir veiksmus, kurių imsitės 5 punktuose.

kontrolinis sąrašas

  • [ ] Ar atsakymo laiko metrikoje žiūrėjau į p95/p99, o ne į vidurkį?
  • [ ] Ar prieš ieškodamas anomalijų nustatiau bazinę liniją iš sveikų duomenų?
  • [ ] Ar atskyriau sezoninius svyravimus nuo nuolatinių tendencijų?
  • [ ] Ar projekciją priėmiau kaip optimistinį-pesimistinį intervalą, o ne vieną datą?
  • [ ] Ar įvertinau tiekimo laiką kartu su projekcijos slenksčiu?
  • [ ] Ar pavojaus slenkstį nustačiau remdamasis savo rizikos tolerancija, o ne AI rekomendacija?