Enota 4 / 11

Spremljanje zmogljivosti in delovanja: branje meritev in načrtovanje za prihodnost

Dobički:

  • Sposobnost pravilnega tolmačenja meritev s podporo za umetno inteligenco z uporabo percentila (p95/p99) in osnovne vrednosti namesto povprečja
  • Sposobnost ločevanja sezonskosti od trenda in izdelave projekcije zmogljivosti kot optimistično-pesimističnega razpona namesto ene same številke
  • Razumevanje, da so odločitve o vlaganju virov in pragu alarma človeške, skupaj s časom priprave virov in poslovnim kontekstom.

Spremljanje zmogljivosti in delovanja: branje meritev z umetno inteligenco in načrtovanje prihodnosti

Zdravja sistema ne morete videti na lastne oči; To razumete skozi meritve. Metrika je časovno odvisna numerična vrednost merljive značilnosti sistema: poraba procesorja, zasedenost pomnilnika, prosti prostor na disku, omrežna zakasnitev, zahteve na sekundo. Spremljanje uspešnosti nenehno zbira te meritve in odgovarja na vprašanje "ali je sistem zdaj v redu?" Načrtovanje zmogljivosti gre še korak dlje: odgovarja na vprašanje "kdaj bom pri tej stopnji postal nezadostni, kdaj naj kupim nove vire?" Tu je umetna inteligenca visoko usposobljen pomočnik pri interpretaciji kupov meritev, označevanju nepravilnosti, branju trenda in ustvarjanju projekcij prihodnosti. Toda eno opozorilo prevladuje predvsem: AI izvleče vzorce iz zgodovinskih podatkov; Vi ste tisti, ki sprejemate odločitve o vlaganju virov, skaliranju in pragu opozorila s kontekstom.

V tej enoti spremljanje konceptov, kot so izhodišče (normalna črta obnašanja), anomalija (odstopanje od normale), percentil (percentil); metrična interpretacija z AI; trend in napoved rasti; naučili se boste nastaviti pravilen alarmni prag.

Povprečje laže: zakaj percentil?

Najpogostejša napaka pri sledenju je, da vse merimo s povprečjem. Recimo, da je vaš odzivni čas v povprečju 200 ms. Sliši se dobro. Toda 5 % uporabnikov morda čaka 8 sekund; Povprečje to skriva. Zato strokovnjaki uporabljajo percentil: p95 = "95 % zahtev je pod tem časovnim obdobjem." Če je odzivni čas p95 8 sekund, ima eden od dvajsetih uporabnikov grozno izkušnjo – povprečje tega nikoli ne pokaže. Ko umetni inteligenci podajate metrike, jasno povejte, katero statistiko želite: "interpretirajte mi p50, p95 in p99, ne povprečje." Ta navada razkriva skrite težave.

Nasvet: Poglejte percentil za vsako meritev, ki zadeva uporabniško izkušnjo (odzivni čas, zakasnitev); p95/p99 namesto povprečja vas pripelje do resnično trpeče manjšine. Pri meritvah virov (CPE, pomnilnik) si oglejte najvišje in trajne vrednosti.

Brez izhodišča ni anomalije

Preden lahko ugotovite, ali je meritev "nenormalna", morate vedeti, "normalna". Izhodišče je tipičen vedenjski razpon sistema v zdravih dneh: "CPU te storitve med tednom opoldne je običajno 40–60 %". Brez osnovne vrednosti ne morete vedeti, ali je 70-odstotna vrednost strašljiva ali normalna. Izhodišče lahko nastavite tako, da umetni inteligenci posredujete zdrave zgodovinske podatke in rečete "izvleči normalno območje in dnevni/tedenski vzorec te metrike". Nato interpretirate nove podatke v skladu s tem izhodiščem: "kje je ta vrednost v normalnem stanju?" Anomalija je znatno in trajno odstopanje od izhodišča – en sam nenaden skok je pogosto hrup.

Korak za korakom: projekcija zmogljivosti

  1. Zberite čisto in ustrezno zgodovino. Trend zahteva vsaj nekaj tednov podatkov, po možnosti mesečno. Projekcija, narejena z malo podatki, je ugibanje, ne napoved.
  2. Ločena sezonskost. Ob koncu tedna promet pade, ob koncu meseca se poveča in med kampanjo eksplodira. Povejte AI ​​te cikle, da ne bo zamenjala rasti s sezonskimi nihanji.
  3. Opustite trend. "Za koliko GB se je ta disk v povprečju povečal na teden v zadnjih 8 tednih?" AI izračuna stopnjo rasti.
  4. Prosite za projekcijo, razmaknite jo. "Kdaj bo pri tej hitrosti disk 90% poln?" — vendar prosite za optimističen/pesimističen razpon, ne za en sam datum. Prihodnost je negotova; liho število je lažna natančnost.
  5. Z ljudmi določite prag odločitve. Če projekcija pravi: "Dokončano bo v 6 tednih", razmislite o času pridobivanja (nakup, odobritev) in se odločite, ali boste ukrepali danes.
  6. Pravilno nastavite alarm. Zelo občutljiv alarm povzroča hrup in utrujenost alarma; preveč ohlapen alarm bo zamudil dogodek. Pridobite priporočilo glede praga od umetne inteligence, vendar določite končni prag z lastno toleranco za tveganje.

trije mini kovčki

Primer 1 — povprečje prikrito, p99 prikazano. Ena ekipa je menila, da je njihov API "v povprečju 180 ms, čisto v redu." Ko sem metrike posredoval umetni inteligenci in prosil za interpretacijo percentila, se je izkazalo, da je p99 6400 ms – ena od stotih zahtev je bila počasnejša od 6 sekund. Glavni vzrok je bila počasna poizvedba po bazi podatkov. Medtem ko se je povprečje zdelo zdravo, je imela manjšina grozno izkušnjo.

2. primer – projekcija opozorjena 3 tedne vnaprej. Skrbnik je posredoval podatke o zasedenosti diska dnevnika AI. Umetna inteligenca je predvidela tedenski trend rasti ~7 GB in predvidela, da bo pri trenutni stopnji 90 % doseženih v 19 dneh, z optimistično-pesimističnim razponom 16–23 dni. Ker je dobava novih diskov trajala 10 dni, je ekipa takoj naročila in preprečila izpad, preden je do njega prišlo.

Primer 3 – Vrnitev po lažni anomaliji. Vsako nedeljo zvečer se je sprožil nadzorni alarm, ki je povedal, da gre CPE do 95 %. Inženir je pred paniko zahteval, da umetna inteligenca dvigne izhodišče: ta skok je bil načrtovano rezervno opravilo, ki se je zgodilo vsak teden ob istem času, tako da je bil del norme. To ni bila anomalija; izhodišče je manjkalo. Prag alarma je bil popravljen za to časovno obdobje in nepotrebnih nočnih prebujanj ni več.

Štiri predloge za kopiranje

1) Razlaga metrike (percentil):

Spodaj so meritve odzivnega časa [storitve] (zamaskirane). Komentirajte mi p50, p95 in p99, ne povprečje. Kaj pomeni razlika med p99 in p50, na katero težavo uporabniške izkušnje kaže? Ne dodajajte izmišljenih vrednosti, samo interpretirajte podatke, ki vam jih dam. Podatki: [metrike]

2) Odštevanje osnovne črte:

Spodaj so zdravi [metrični] podatki za zadnje 4 tedne. Izvlecite (1) normalno območje (2) dnevni in tedenski vzorec (npr. nočna najnižja, opoldne najvišja) te metrike. Nato bom dal eno samo novo vrednost; razvrstite kot "normalno/previdno/nenormalno" na podlagi te osnovne vrednosti. Podatki: [zgodovinska metrika]

3) Projekcija zmogljivosti (z razponom):

Spodaj je zadnjih 8 tednov podatkov o zasedenosti [vira]. (1) Izračunajte tedensko povprečno stopnjo rasti, (2) navedite sezonske učinke, (3) ocenite čas za doseganje praga 90 % pri trenutni stopnji z OPTIMISTIČNIM in PESIMISTIČNIM razponom. Navedite en sam datum, obseg in zapišite svoje domneve. Podatki: [časovna vrsta]

4) Priporočilo za prag alarma:

Moja osnova za [metriko] je [razpon]. Moj cilj je zmanjšati lažne alarme, ne da bi zamudil resnične težave. Podajte mi priporočilo za (1) opozorilo in (2) kritični prag, pri čemer utemeljite vsakega in ocenite tveganje utrujenosti alarma. Določil bom končni prag.

Šibek poziv/močan poziv

Šibek poziv:

Je moj strežnik počasen?

Ni konteksta, meritev in izhodišča. Umetna inteligenca niti ne pozna definicije "počasnega" niti nima običajne vrednosti, s katero bi jo primerjal. Odgovor je prazno ugibanje.

Močan poziv:

Vaša vloga: specialist za načrtovanje zmogljivosti. Spodaj je zadnjih 14 dni odzivnega časa p95 in podatkov o zahtevah/sekundah API-ja (zamaskiran). Moja osnovna vrednost je 250-400 ms za p95. Povejte mi (1) označite dneve, ki so v zadnjih 14 dneh presegli izhodiščno vrednost, (2) povejte mi, ali obstaja vidna povezava med odzivnim časom in obremenitvijo zahteve (kot hipoteza), (3) predvidejte, kam bo p95 šel v 30 dneh, če se bo ta trend nadaljeval. Podatki: [časovna vrsta]

Metrični tip

napačno merjenje

natančno merjenje

odzivni čas

Samo povprečje

stran 50, stran 95, stran 99

CPE/pomnilnik

trenutna vrednost

Vrh + trajna + osnovna vrednost

rast diska

Današnja zasedenost

Tedenski trend + projekcija

Anomalija

enojni odboj

Stalno odstopanje od izhodišča

alarm

Poljubni enojni prag

Utemeljeno opozorilo + kritični prag

Pogoste napake

  • Merjenje vsega s povprečjem. Povprečje skriva slabe izkušnje redkih; Glej percentil.
  • Iskanje anomalij brez osnovne črte. Ne morete reči, da je vrednost nenormalna, ne da bi vedeli, kaj je normalno; Ustvarite lažni alarm.
  • Zamenjajte sezonskost za trend. Obravnavanje vrhunca kampanje kot stalne rasti in jemanje nepotrebnih virov stane.
  • Zanašanje na projekcijo lihih števil. »Točno 19 dni« je lažna natančnost; Uporabite optimistično-pesimistični razpon.
  • Pozabite na čas pridobivanja. Ekipa, ki ne upošteva praga projekcije in časa nakupa skupaj, bo ujeta v prekinitev.
Pozor: projekcija trenda AI predpostavlja, da se bo preteklost nadaljevala v prihodnosti. Predstavitev novega izdelka, selitev strank ali arhitekturna sprememba zmoti to predpostavko. Vaša naloga je, da projekcijo popravite s svojim kontekstom.

Če povzamem

Spremljanje uspešnosti odgovarja na vprašanje "ali je zdaj dobro?" in načrtovanje zmogljivosti odgovarja na vprašanje "kdaj ni dovolj?" Umetna inteligenca je močan partner pri interpretaciji meritev, določanju izhodišč, označevanju nepravilnosti in napovedovanju trendov. Toda povprečje laže - uporabite percentil; Brez osnovne linije ni anomalije — najprej vzpostavite normalno; ločite sezonskost od trenda; in vzemite projekcijo kot obseg, ne kot eno število. Odločitve o naložbah v vire in pragu opozoril so človeški, skupaj s časom priprave virov in poslovnim kontekstom.

Aplikacijska naloga

Vzemite podatke zadnjih nekaj tednov za vir (disk, pomnilnik, odzivni čas) iz svojih sistemov in maskirajte občutljiva področja. Odštejte normalno območje in vzorec z zgornjo predlogo "Odštevanje osnovne črte". Nato naj predloga »Projekcija zmogljivosti« predvidi, kdaj boste dosegli prag, z optimistično-pesimističnim razponom. Poskrbite tudi za razlago meritve odzivnega časa s predlogo "percentil" in preverite, ali povprečje kaj skriva. Svoje ugotovitve in ukrepe, ki jih boste izvedli, zapišite v 5 postavk.

kontrolni seznam

  • [ ] Ali sem pri meritvah odzivnega časa pogledal p95/p99 namesto povprečja?
  • [ ] Ali sem določil izhodišče iz zdravih podatkov, preden sem iskal anomalije?
  • [ ] Ali sem ločil sezonska nihanja od trajnega trenda?
  • [ ] Ali sem projekcijo vzel kot optimistično-pesimistični razpon in ne kot en sam datum?
  • [ ] Ali sem ocenil čas pridobivanja skupaj s pragom projekcije?
  • [ ] Ali sem nastavil alarmni prag glede na lastno toleranco za tveganje in ne glede na priporočilo umetne inteligence?