Vienība 4 / 11

Jaudas un veiktspējas uzraudzība: metriku lasīšana un nākotnes plānošana

Ieguvumi:

  • Spēja pareizi interpretēt metriku ar mākslīgā intelekta atbalstu, izmantojot procentili (p95/p99) un bāzes līniju, nevis vidējo
  • Spēja nodalīt sezonalitāti no tendences un sagatavot jaudas prognozi kā optimistiski pesimistisku diapazonu, nevis vienu skaitli
  • Izpratne par to, ka resursu investīcijas un trauksmes sliekšņa lēmumi ir cilvēku, kā arī resursu izpildes laiks un biznesa konteksts.

Jaudas un veiktspējas uzraudzība: metriku lasīšana ar AI un nākotnes plānošana

Jūs nevarat redzēt sistēmas veselību savām acīm; Jūs to saprotat, izmantojot metriku. Metrika ir no laika atkarīga izmērāma sistēmas raksturlieluma skaitliska vērtība: CPU lietojums, atmiņas noslogojums, diska brīvā vieta, tīkla latentums, pieprasījumi sekundē. Veiktspējas uzraudzība nepārtraukti apkopo šos rādītājus un atbild uz jautājumu "vai sistēma tagad ir kārtībā?" Jaudas plānošana iet vēl vienu soli tālāk: tā atbild uz jautājumu "ar šādu ātrumu, kad man kļūs nepietiekams, kad man vajadzētu iegādāties jaunus resursus?" Šeit AI ir augsti kvalificēts palīgs metrikas kaudzes interpretēšanā, anomāliju atzīmēšanā, tendenču nolasīšanā un nākotnes projekciju sagatavošanā. Taču viens brīdinājums dominē galvenokārt: AI izvelk modeļus no vēsturiskajiem datiem; Jūs esat tas, kurš pieņem resursu ieguldījumu, mērogošanu un brīdinājuma sliekšņa lēmumus, ņemot vērā kontekstu.

Šajā vienībā monitoringa jēdzieni, piemēram, bāzes līnija (normālas uzvedības līnija), anomālija (novirze no normas), procentile (procentile); Metriskā interpretācija ar AI; tendence un izaugsmes prognoze; un jūs iemācīsities iestatīt pareizo trauksmes slieksni.

Vidējais meli: kāpēc procentile?

Visizplatītākā izsekošanas kļūda ir visu mērīt ar vidējo. Pieņemsim, ka jūsu reakcijas laiks ir vidēji 200 ms. Izklausās labi. Bet 5% lietotāju var gaidīt 8 sekundes; Vidējais to slēpj. Tāpēc profesionāļi izmanto procentili: p95 = "95% pieprasījumu ir mazāki par šo laika periodu." Ja p95 reakcijas laiks ir 8 sekundes, vienam no divdesmit lietotājiem ir briesmīga pieredze — vidējais rādītājs to nekad neuzrāda. Sniedzot AI rādītājus, skaidri norādiet, kuru statistiku vēlaties: "interpretējiet p50, p95 un p99 man, nevis vidējo." Šis viens ieradums atklāj slēptās problēmas.

Padoms. Skatiet procentili katram rādītājam, kas attiecas uz lietotāja pieredzi (reakcijas laiks, latentums); p95/p99, nevis vidējais, noved pie patieso ciešanu mazākuma. Resursu metrikā (CPU, atmiņa) skatiet gan maksimālās, gan ilgstošās vērtības.

Nav anomālijas bez bāzes līnijas

Lai noteiktu, vai metrika ir “nenormāla”, jums jāzina “normāls”. Sākumlīnija ir tipisks sistēmas uzvedības diapazons veselīgās dienās: "šī pakalpojuma darbdienu pusdienlaika CPU parasti ir 40–60%. Bez bāzes līnijas jūs nevarat zināt, vai 70% vērtība ir biedējoša vai normāla. Varat iestatīt bāzes līniju, sniedzot mākslīgajam intelektam vēsturiskus veselīgus datus un sakot "izņemiet šīs metrikas normālo diapazonu un dienas/nedēļas modeli". Tad jūs interpretējat jaunos datus saskaņā ar šo bāzes līniju: "kur šī vērtība ir normāli?" Anomālija ir ievērojama un ilgstoša novirze no sākotnējā līmeņa — viens pēkšņs lēciens bieži vien ir troksnis.

Soli pa solim: jaudas projekcija

  1. Savāc tīru un atbilstošu vēsturi. Tendencei ir nepieciešami vismaz dažu nedēļu dati, vēlams reizi mēnesī. Prognoze, kas veikta ar maziem datiem, ir minējums, nevis prognoze.
  2. Atsevišķa sezonalitāte. Satiksme samazinās nedēļas nogalē, palielinās mēneša beigās un eksplodē kampaņas laikā. Pastāstiet AI šos ciklus, lai tas nejauktu izaugsmi ar sezonālām svārstībām.
  3. Noņemiet tendenci. "Cik GB vidēji ir palielinājies šis disks nedēļā pēdējo 8 nedēļu laikā?" AI aprēķina augšanas ātrumu.
  4. Pieprasiet projekciju, izvelciet to. "Ar šo ātrumu, kad disks būs pilns par 90%?" — bet prasiet optimistisku/pesimistisku diapazonu, nevis vienu datumu. Nākotne ir neskaidra; nepāra skaitlis ir nepatiesa precizitāte.
  5. Nosakiet lēmumu pieņemšanas slieksni ar cilvēkiem. Ja prognozē ir rakstīts “Tas tiks pabeigts 6 nedēļu laikā”, jūs apsverat piegādes laiku (iegāde, apstiprināšana) un izlemjat, vai rīkoties šodien.
  6. Pareizi iestatiet modinātāju. Ļoti jutīga trauksme rada troksni un trauksmes nogurumu; pārāk vaļīgs trauksmes signāls nokavēs pasākumu. Saņemiet sliekšņa ieteikumu no AI, bet nosakiet galīgo slieksni, ievērojot savu riska toleranci.

trīs mini futrāļi

1. gadījums — vidēji slēpts, parādīts 99. lpp. Viena komanda uzskatīja, ka viņu API ir "vidēji 180 ms, labi." Kad es ievadīju metriku AI un prasīju procentiles interpretāciju, izrādījās, ka p99 bija 6400 ms — viens no katriem simts pieprasījumiem bija lēnāks par 6 sekundēm. Galvenais iemesls bija lēns datu bāzes vaicājums. Kamēr vidējais rādītājs šķita vesels, mazākumam bija briesmīga pieredze.

2. gadījums — prognoze brīdināta 3 nedēļas iepriekš. Administrators nodeva AI žurnāla diska aizņemtības datus. AI secināja, ka iknedēļas pieauguma tendence ir ~ 7 GB, un prognozēja, ka pašreizējā ātrumā 90% tiks sasniegti 19 dienu laikā ar optimistiski pesimistisku diapazonu no 16 līdz 23 dienām. Tā kā jaunu disku piegāde prasīja 10 dienas, komanda nekavējoties pasūtīja un novērsa pārtraukumu, pirms tas notika.

3. gadījums — atgriešanās no viltus anomālijas. Katru svētdienas vakaru atskanēja uzraudzības trauksme, norādot, ka CPU līmenis paaugstinās līdz 95%. Pirms panikas inženieris lika AI paaugstināt bāzes līniju: šis lēciens bija plānots rezerves darbs, kas notika katru nedēļu vienā un tajā pašā laikā, tāpēc tas bija daļa no normas. Tā nebija anomālija; trūka bāzes līnijas. Modinātāja slieksnis šim laika posmam ir koriģēts, un vairs nav vajadzīgas nakts modināšanas.

Četras kopējamas veidnes

1) Metrikas interpretācija (procentile):

Tālāk ir norādīti [pakalpojuma] reakcijas laika rādītāji (maskēti). Komentējiet man p50, p95 un p99, nevis vidējo. Ko nozīmē atšķirība starp p99 un p50, uz kuru lietotāja pieredzes problēmu tas liecina? Nepievienojiet izdomātas vērtības, vienkārši interpretējiet datus, ko es jums sniedzu. Dati: [metrika]

2) Bāzes līnijas atņemšana:

Tālāk ir sniegti veselīgie [metrijas] dati par pēdējām 4 nedēļām. Izņemiet šīs metrikas (1) normālo diapazonu (2) dienas un iknedēļas modeli (piem., zemākais nakts laiks, maksimālais pusdienlaiks). Tad es došu vienu jaunu vērtību; klasificējiet to kā "normāls/uzmanību/nenormāls", pamatojoties uz šo bāzes līniju.Dati: [vēsturiskā metrika]

3) jaudas projekcija (ar diapazonu):

Tālāk ir sniegti pēdējo 8 nedēļu [resursa] noslogojuma dati. (1) Aprēķiniet nedēļas vidējo pieauguma tempu, (2) norādiet sezonālo ietekmi, (3) novērtējiet laiku, lai sasniegtu 90% slieksni ar pašreizējo ātrumu, izmantojot OPTIMISTISKA un PESIMISTISKA diapazonu. Norādiet vienu datumu, norādiet diapazonu un pierakstiet savus pieņēmumus. Dati: [laikrinda]

4) Trauksmes sliekšņa ieteikums:

Mana [metrika] bāzes līnija ir [diapazons]. Mans mērķis ir samazināt viltus trauksmes gadījumus, nepalaižot garām reālas problēmas. Sniedziet man ieteikumu (1) brīdinājumam un (2) kritiskajam slieksnim, pamatojot katru un novērtējot trauksmes noguruma risku. Es noteikšu galīgo slieksni.

Vāja uzvedne / spēcīga uzvedne

Vāja uzvedne:

Vai mans serveris ir lēns?

Nav konteksta, nav metrikas un nav bāzes līnijas. AI nezina jēdziena "lēns" definīciju un tam nav normālas vērtības, ar ko to salīdzināt. Atbilde ir tukšs minējums.

Spēcīga uzvedne:

Jūsu loma: kapacitātes plānošanas speciālists. Tālāk ir norādītas pēdējās 14 dienas no p95 atbildes laika un API pieprasījumiem/sekundes datiem (maskēti). Mana bāzes līnija ir 250–400 ms p95. Pastāstiet man (1) atzīmējiet dienas, kas pēdējo 14 dienu laikā izgāja no bāzes līnijas, (2) pastāstiet man, vai ir redzama saistība starp atbildes laiku un pieprasījuma slodzi (kā hipotēzi), (3) prognozējiet, kur p95 virzīsies pēc 30 dienām, ja šī tendence turpināsies. Dati: [laikrinda]

Metriskais veids

nepareizs mērījums

precīzs mērījums

reakcijas laiks

Tikai vidēji

50., 95., 99. lpp

CPU/atmiņa

momentānā vērtība

Maksimums + ilgstoša + bāzes līnija

diska augšana

Šodienas noslogojums

Nedēļas tendence + prognoze

Anomālija

viena atlēciens

Nepārtraukta novirze no bāzes līnijas

modinātājs

Patvaļīgs viens slieksnis

Pamatots brīdinājums + kritiskais slieksnis

Biežas kļūdas

  • Visu mērot ar vidējo. Vidējais slēpj dažu slikto pieredzi; Skatīt procentili.
  • Anomāliju meklēšana bez bāzes līnijas. Jūs nevarat teikt, ka vērtība ir nenormāla, ja nezināt, kas ir normāls; Jūs izveidojat viltus trauksmi.
  • Sezonalitātes jaukšana ar tendenci. Kampaņas pīķa traktēšana kā pastāvīga izaugsme un nevajadzīgu resursu atņemšana maksā naudu.
  • Paļaušanās uz nepāra skaitļu projekciju. “Tieši 19 dienas” ir nepatiesa precizitāte; Izmantojiet optimistiski pesimistisku diapazonu.
  • Aizmirstot ieguves laiku. Komanda, kas neņem vērā projekcijas slieksni un iepirkšanās laiku kopā, tiks pieķerta pārtraukumā.
Uzmanību: AI tendenču projekcija paredz, ka pagātne turpināsies arī nākotnē. Jauna produkta ieviešana, klientu migrācija vai arhitektūras izmaiņas izjauc šo pieņēmumu. Jūsu uzdevums ir labot projekciju atbilstoši jūsu kontekstam.

Rezumējot

Veiktspējas monitorings atbild uz jautājumu "vai tagad ir labi?" un kapacitātes plānošana atbild uz jautājumu "kad ar to nepietiek?" AI ir spēcīgs partneris metrikas interpretācijā, bāzes līniju noteikšanā, anomāliju atzīmēšanā un tendenču prognozēšanā. Bet vidējie meli — izmantojiet procentili; Bez bāzes līnijas nav anomāliju — vispirms nosakiet normālu; atdaliet sezonalitāti no tendences; un ņemiet projekciju kā diapazonu, nevis vienu skaitli. Resursu investīcijas un brīdinājuma sliekšņa lēmumi ir cilvēku pieņemti, kā arī resursu sagatavošanās laiks un biznesa konteksts.

Lietojumprogrammas uzdevums

Paņemiet pēdējo nedēļu datus resursam (disks, atmiņa, reakcijas laiks) no savām sistēmām un maskējiet jutīgās zonas. Atņemiet parasto diapazonu un modeli, izmantojot iepriekš redzamo veidni "Pamatlīnijas atņemšana". Pēc tam ļaujiet veidnei “Kapacitātes projekcijas” paredzēt, kad sasniegsit slieksni ar optimistiski pesimistisku diapazonu. Varat arī interpretēt atbildes laika metriku, izmantojot “procentiles” veidni, un pārbaudiet, vai vidējais rādītājs neslēpj kaut ko. Pierakstiet savus atklājumus un darbības, ko veiksit 5 punktos.

kontrolsaraksts

  • [ ] Vai atbildes laika rādītājos skatījos p95/p99, nevis vidējo?
  • [ ] Vai pirms anomāliju meklēšanas esmu noteicis bāzes līniju no veselīgiem datiem?
  • [ ] Vai esmu nošķīris sezonālās svārstības no pastāvīgas tendences?
  • [ ] Vai es uztvēru prognozi kā optimistiski pesimistisku diapazonu, nevis vienu datumu?
  • [ ] Vai esmu novērtējis ieguves laiku kopā ar projekcijas slieksni?
  • [ ] Vai es iestatīju trauksmes slieksni, pamatojoties uz savu riska toleranci, nevis AI ieteikumu?