Jedinica 4 / 11

Praćenje kapaciteta i performansi: očitavanje metrike i planiranje za budućnost

Dobici:

  • Sposobnost ispravnog tumačenja metrike uz podršku umjetne inteligencije korištenjem percentila (p95/p99) i osnovne vrijednosti umjesto prosjeka
  • Sposobnost odvajanja sezonskosti od trenda i izrade projekcije kapaciteta kao optimistično-pesimističkog raspona, a ne kao jednog broja
  • Razumijevanje da su odluke o ulaganju resursa i pragu alarma ljudske, zajedno s vremenom donošenja resursa i poslovnim kontekstom.

Praćenje kapaciteta i performansi: Očitavanje metrike pomoću umjetne inteligencije i planiranje budućnosti

Zdravlje sustava ne možete vidjeti vlastitim očima; Razumijete to kroz metriku. Metrika je vremenski ovisna numerička vrijednost mjerljive karakteristike sustava: korištenje CPU-a, zauzetost memorije, slobodan prostor na disku, latencija mreže, zahtjevi u sekundi. Praćenje performansi kontinuirano prikuplja te metrike i odgovara na pitanje "je li sustav sada OK?" Planiranje kapaciteta ide korak dalje: ono odgovara na pitanje "kada ću ovom brzinom postati nedostatan, kada bih trebao kupiti nove resurse?" Ovdje je AI visoko vješt pomoćnik u tumačenju hrpe metričkih podataka, označavanju anomalija, čitanju trenda i stvaranju budućih projekcija. Ali jedno upozorenje prevladava iznad svega: AI izvlači uzorke iz povijesnih podataka; Vi ste taj koji donosi odluke o ulaganju resursa, skaliranju i pragu upozorenja s kontekstom.

U ovoj jedinici, koncepti praćenja kao što su osnovna linija (normalna linija ponašanja), anomalija (odstupanje od normale), percentil (percentil); Metrička interpretacija s AI; trend i prognoza rasta; i naučit ćete postaviti ispravan prag alarma.

Prosječna laž: zašto percentil?

Najčešća pogreška u praćenju je da se sve mjeri prosjekom. Recimo da je vaše vrijeme odziva prosječno 200 ms. Zvuči dobro. Ali 5% korisnika možda čeka 8 sekundi; Prosjek to skriva. Zato profesionalci koriste percentil: p95 = "95% zahtjeva je ispod ovog vremenskog razdoblja." Ako je vrijeme odziva p95 8 sekundi, jedan od dvadeset korisnika ima užasno iskustvo — prosjek to nikad ne pokazuje. Kada dajete mjerne podatke umjetnoj inteligenciji, jasno navedite koju statistiku želite: "tumačite mi p50, p95 i p99, a ne prosjek." Ova jedina navika otkriva skrivene probleme.

Savjet: pogledajte percentil za svaku metriku koja se tiče korisničkog iskustva (vrijeme odgovora, latencija); p95/p99 umjesto prosjeka dovodi vas do prave manjine koja pati. U metrici resursa (CPU, memorija), pogledajte i vršne i trajne vrijednosti.

Nema anomalije bez osnovne linije

Prije nego što možete reći je li metrika "nenormalna", morate znati "normalna". Osnovna vrijednost je tipičan raspon ponašanja sustava u zdravim danima: "ova usluga radnim danom u podne CPU je obično 40–60%". Bez osnovne vrijednosti ne možete znati je li vrijednost od 70% zastrašujuća ili normalna. Možete postaviti osnovnu vrijednost tako da AI-ju date povijesne zdrave podatke i kažete "izdvoj normalni raspon i dnevni/tjedni uzorak ove metrike". Zatim interpretirate nove podatke prema ovoj osnovici: "gdje je ova vrijednost u normali?" Anomalija je značajno i trajno odstupanje od osnovne vrijednosti — jedan nagli skok često je šum.

Korak po korak: projekcija kapaciteta

  1. Prikupite čistu i odgovarajuću povijest. Trend zahtijeva najmanje nekoliko tjedana podataka, po mogućnosti mjesečno. Projekcija napravljena s malo podataka je nagađanje, a ne predviđanje.
  2. Odvojena sezonalnost. Promet opada vikendom, raste na kraju mjeseca i eksplodira tijekom kampanje. Recite umjetnoj inteligenciji ove cikluse kako ne bi pobrkala rast sa sezonskim fluktuacijama.
  3. Skinite trend. "Koliko je GB u prosjeku ovaj disk rastao tjedno u zadnjih 8 tjedana?" AI izračunava stopu rasta.
  4. Zatražite projekciju, razmaknite je. "Ovim tempom, kada će disk biti 90% pun?" — ali tražite optimističan/pesimističan raspon, a ne jedan datum. Budućnost je neizvjesna; neparan broj je lažna preciznost.
  5. Odredite prag odluke s ljudima. Ako projekcija kaže "Bit će dovršeno za 6 tjedana", razmislite o vremenu nabave (kupnja, odobrenje) i odlučite hoćete li nešto poduzeti danas.
  6. Ispravno postavite alarm. Vrlo osjetljiv alarm proizvodi buku i zamor alarma; previše labav alarm će propustiti događaj. Zatražite preporuku praga od umjetne inteligencije, ali odredite konačni prag prema vlastitoj toleranciji na rizik.

tri mini kućišta

Slučaj 1 — prosjek skriven, p99 prikazan. Jedan tim mislio je da je njihov API "180 ms u prosjeku, sasvim u redu." Kad sam mjerne podatke ubacio u AI i zatražio interpretaciju percentila, pokazalo se da je p99 6400 ms — jedan od svakih sto zahtjeva bio je sporiji od 6 sekundi. Glavni uzrok bio je spor upit baze podataka. Dok je prosjek izgledao zdrav, manjina je imala užasno iskustvo.

Slučaj 2 — Projekcija upozorena 3 tjedna unaprijed. Administrator je AI-ju dao podatke o popunjenosti diska dnevnika. AI je zaključio tjedni trend rasta od ~7 GB i projicirao da će uz trenutnu stopu 90% biti dostignuto u roku od 19 dana, s optimistično-pesimističnim rasponom od 16-23 dana. Budući da je za isporuku novih diskova bilo potrebno 10 dana, tim je odmah naručio i spriječio prekid prije nego što se dogodio.

Slučaj 3 — Povratak iz lažne anomalije. Alarm za nadzor se uključivao svake nedjelje navečer govoreći da CPU ide do 95%. Prije panike, inženjer je dao AI-ju da podigne osnovnu liniju: ovaj skok bio je planirani rezervni posao koji se događao u isto vrijeme svaki tjedan, tako da je bio dio norme. Nije to bila anomalija; nedostajala je osnovna linija. Prag alarma je ispravljen za to vremensko razdoblje i više nema nepotrebnih noćnih buđenja.

Četiri predloška za kopiranje

1) Interpretacija metrike (percentil):

Ispod su metrike vremena odgovora [usluge] (maskirane). Komentirajte mi p50, p95 i p99, a ne prosjek. Što znači razlika između p99 i p50, na koji problem korisničkog iskustva ukazuje? Nemojte dodavati izmišljene vrijednosti, samo protumačite podatke koje vam dajem. Podaci: [mjerni podaci]

2) Oduzimanje osnovne linije:

Ispod su zdravi [metrički] podaci za zadnja 4 tjedna. Izdvojite (1) normalni raspon (2) dnevni i tjedni obrazac (npr. najniža vrijednost noću, visina u podne) ove metrike. Tada ću dati jednu novu vrijednost; klasificirajte ga kao "normalno/oprez/nenormalno" na temelju ove osnovne vrijednosti. Podaci: [povijesna metrika]

3) Projekcija kapaciteta (s rasponom):

Ispod su podaci o popunjenosti za [resurs] zadnjih 8 tjedana. (1) Izračunajte tjednu prosječnu stopu rasta, (2) naznačite sezonske učinke, (3) procijenite vrijeme za postizanje praga od 90% pri trenutnoj stopi, s OPTIMISTIČNIM i PESIMISTIČNIM rasponima. Navedite jedan datum, raspon i zapišite svoje pretpostavke. Podaci: [vremenski niz]

4) Preporuka praga alarma:

Moja osnovna vrijednost za [metric] je [range]. Moj je cilj svesti lažne alarme na najmanju moguću mjeru, a da ne propustim stvarne probleme. Dajte mi preporuku za (1) upozorenje i (2) kritični prag, opravdavajući svaki i procjenjujući rizik od zamora alarma. Ja ću odrediti konačni prag.

Slab upit / Jak upit

Slab upit:

Je li moj poslužitelj spor?

Nema konteksta, metrike i osnovne vrijednosti. AI ne zna definiciju "sporog" niti ima normalnu vrijednost s kojom bi je usporedio. Odgovor je prazno nagađanje.

Snažan upit:

Vaša uloga: stručnjak za planiranje kapaciteta. Ispod je zadnjih 14 dana vremena odgovora p95 i podataka o zahtjevima/sekundi API-ja (maskiran). Moja osnovna vrijednost je 250-400 ms za p95. Recite mi (1) označite dane koji su izašli iz osnovne vrijednosti u zadnjih 14 dana, (2) recite mi postoji li vidljiva veza između vremena odgovora i opterećenja zahtjeva (kao hipoteza), (3) predvidite gdje će p95 ići za 30 dana ako se ovaj trend nastavi. Podaci: [vremenski niz]

Metrička vrsta

pogrešno mjerenje

točno mjerenje

vrijeme odziva

Samo prosjek

str. 50, str. 95, str. 99

CPU/memorija

trenutna vrijednost

Vrhunac + kontinuirano + osnovna linija

rast diska

Današnja popunjenost

Tjedni trend + projekcija

Anomalija

pojedinačni odskok

Kontinuirano odstupanje od osnovne vrijednosti

alarm

Proizvoljni pojedinačni prag

Obrazloženo upozorenje + kritični prag

Uobičajene greške

  • Mjerenje svega prosjekom. Prosjek skriva loše iskustvo nekolicine; Vidi percentil.
  • Traženje anomalija bez osnovne linije. Ne možete reći da je neka vrijednost nenormalna, a da ne znate što je normalno; Stvarate lažni alarm.
  • Miješajući sezonalnost s trendom. Tretiranje vrhunca kampanje kao trajnog rasta i uzimanje nepotrebnih resursa košta.
  • Oslanjanje na projekciju neparnih brojeva. “Točno 19 dana” je lažna preciznost; Koristite optimistično-pesimistički raspon.
  • Zaboravljajući vrijeme pronalaženja izvora. Tim koji ne uzme u obzir prag projekcije i vrijeme kupnje zajedno bit će uhvaćen u prekidu.
Oprez: AI-jeva projekcija trenda pretpostavlja da će se prošlost nastaviti u budućnosti. Lansiranje novog proizvoda, migracija korisnika ili arhitektonska promjena remete ovu pretpostavku. Vaš je posao ispraviti projekciju s vašim kontekstom.

Ukratko

Praćenje učinka odgovara na pitanje "je li sada dobro?" a planiranje kapaciteta odgovara na pitanje "kada nije dovoljno?" AI je moćan partner u tumačenju mjernih podataka, uspostavljanju osnovnih linija, označavanju anomalija i projektiranju trendova. Ali prosjek laže - upotrijebite percentil; Bez osnovne linije nema anomalije — prvo uspostavite normalu; odvojiti sezonalnost od trenda; i uzmite projekciju kao raspon, a ne kao jedan broj. Odluke o ulaganju resursa i pragu upozorenja su ljudske, zajedno s vremenom donošenja resursa i poslovnim kontekstom.

Zadatak aplikacije

Uzmite zadnjih nekoliko tjedana podataka za resurs (disk, memorija, vrijeme odziva) iz vlastitih sustava i maskirajte osjetljiva područja. Oduzmite normalni raspon i uzorak pomoću gornjeg predloška "Oduzimanje osnovne linije". Zatim neka predložak "Projekcija kapaciteta" predvidi kada ćete dosegnuti prag, s optimističnim i pesimističnim rasponom. Također, neka se vaša metrika vremena odgovora protumači pomoću predloška "percentila" i provjerite postoji li nešto što prosjek skriva. Zapišite svoje nalaze i radnje koje ćete poduzeti u 5 stavki.

popis za provjeru

  • [ ] Jesam li gledao p95/p99 umjesto prosjeka u metrici vremena odgovora?
  • [ ] Jesam li prije traženja anomalija uspostavio osnovnu liniju na temelju zdravih podataka?
  • [ ] Jesam li razlikovao sezonsku fluktuaciju od stalnog trenda?
  • [ ] Jesam li projekciju uzeo kao optimistično-pesimistički raspon, a ne kao jedan datum?
  • [ ] Jesam li procijenio vrijeme izvora zajedno s pragom projekcije?
  • [ ] Jesam li postavio prag alarma na temelju vlastite tolerancije na rizik, a ne preporuke umjetne inteligencije?