SRE (Site Reliability Engineering) ir pieeja tÄ«mekļa projektu pieejamÄ«bas nodroÅ”inÄÅ”anai. Tas tiek uzskatÄ«ts par DevOps sistÄmu un runÄ par to, kÄ gÅ«t panÄkumus DevOps prakses pielietoÅ”anÄ. Tulkojums Å”ajÄ rakstÄ
Kaķa tulkojums. Izbaudi lasīŔanu!
Nav iespÄjams vadÄ«t pakalpojumu, ja nav izpratnes par to, kÄdiem rÄdÄ«tÄjiem patiesÄ«bÄ ir nozÄ«me un kÄ tos izmÄrÄ«t un novÄrtÄt. Å im nolÅ«kam mÄs definÄjam un saviem lietotÄjiem sniedzam noteiktu pakalpojumu lÄ«meni neatkarÄ«gi no tÄ, vai viÅi izmanto kÄdu no mÅ«su iekÅ”ÄjÄm API vai publisku produktu.
MÄs izmantojam savu intuÄ«ciju, pieredzi un izpratni par lietotÄju vÄlmi izprast pakalpojuma lÄ«meÅa rÄdÄ«tÄjus (SLI), pakalpojumu lÄ«meÅa mÄrÄ·us (SLO) un pakalpojumu lÄ«meÅa lÄ«gumus (SLA). Å Ä«s dimensijas raksturo galvenos rÄdÄ«tÄjus, kurus vÄlamies pÄrraudzÄ«t un uz kuriem reaÄ£Äsim, ja nevarÄsim nodroÅ”inÄt paredzÄto pakalpojuma kvalitÄti. Galu galÄ pareizo metrikas izvÄle palÄ«dz pareizi rÄ«koties, ja kaut kas noiet greizi, kÄ arÄ« sniedz SRE komandai pÄrliecÄ«bu par pakalpojuma darbÄ«bu.
Å ajÄ nodaÄ¼Ä ir aprakstÄ«ta pieeja, ko izmantojam metriskÄs modelÄÅ”anas, metrikas atlases un metrikas analÄ«zes problÄmu risinÄÅ”anai. LielÄkoties skaidrojums bÅ«s bez piemÄriem, tÄpÄc galveno punktu ilustrÄÅ”anai izmantosim tÄ realizÄcijas piemÄrÄ aprakstÄ«to Å ekspÄ«ra servisu (Å ekspÄ«ra darbu meklÄÅ”ana).
Pakalpojuma lÄ«meÅa terminoloÄ£ija
Daudzi lasÄ«tÄji, iespÄjams, ir pazÄ«stami ar SLA jÄdzienu, taÄu termini SLI un SLO ir pelnÄ«juÅ”i rÅ«pÄ«gu definÄ«ciju, jo kopumÄ termins SLA ir pÄrslogots un tam ir vairÄkas nozÄ«mes atkarÄ«bÄ no konteksta. SkaidrÄ«bas labad mÄs vÄlamies nodalÄ«t Ŕīs vÄrtÄ«bas.
Indikatori
VDI ir pakalpojuma lÄ«meÅa rÄdÄ«tÄjs ā rÅ«pÄ«gi definÄts sniegtÄ pakalpojuma lÄ«meÅa viena aspekta kvantitatÄ«vais rÄdÄ«tÄjs.
LielÄkajai daļai pakalpojumu galvenais SLI tiek uzskatÄ«ts par pieprasÄ«juma latentumu ā cik ilgs laiks nepiecieÅ”ams, lai atgrieztu atbildi uz pieprasÄ«jumu. Citas izplatÄ«tas SLI ietver kļūdu lÄ«meni, kas bieži izteikts kÄ daļa no visiem saÅemtajiem pieprasÄ«jumiem, un sistÄmas caurlaidspÄja, ko parasti mÄra pieprasÄ«jumos sekundÄ. MÄrÄ«jumi bieži tiek apkopoti: neapstrÄdÄti dati vispirms tiek savÄkti un pÄc tam pÄrvÄrsti izmaiÅu ÄtrumÄ, vidÄjÄ vai procentilÄ.
IdeÄlÄ gadÄ«jumÄ SLI tieÅ”i mÄra interesÄjoÅ”o pakalpojumu lÄ«meni, bet dažreiz mÄrÄ«Å”anai ir pieejama tikai saistÄ«ta metrika, jo sÄkotnÄjo ir grÅ«ti iegÅ«t vai interpretÄt. PiemÄram, klienta puses latentums bieži ir piemÄrotÄks rÄdÄ«tÄjs, taÄu ir gadÄ«jumi, kad latentumu var izmÄrÄ«t tikai serverÄ«.
Cits SLI veids, kas ir svarÄ«gs SRE, ir pieejamÄ«ba vai laika daļa, kurÄ pakalpojumu var izmantot. Bieži tiek definÄts kÄ veiksmÄ«go pieprasÄ«jumu rÄdÄ«tÄjs, ko dažreiz sauc par ienesÄ«gumu. (Mūžs ā iespÄjamÄ«ba, ka dati tiks saglabÄti ilgÄku laiku ā arÄ« datu uzglabÄÅ”anas sistÄmÄm ir svarÄ«ga.) Lai gan 100% pieejamÄ«ba nav iespÄjama, bieži vien ir sasniedzama pieejamÄ«ba tuvu 100%; pieejamÄ«bas vÄrtÄ«bas tiek izteiktas kÄ "deviÅu" skaits Ā» pieejamÄ«bas procents. PiemÄram, 99% un 99,999% pieejamÄ«ba var bÅ«t apzÄ«mÄta kÄ "2 deviÅi" un "5 deviÅi". Google Compute Engine paÅ”reizÄjais norÄdÄ«tais pieejamÄ«bas mÄrÄ·is ir "trÄ«sarpus deviÅi" jeb 99,95%.
MÄrÄ·i
SLO ir pakalpojuma lÄ«meÅa mÄrÄ·is: pakalpojuma lÄ«meÅa mÄrÄ·a vÄrtÄ«ba vai vÄrtÄ«bu diapazons, ko mÄra VDI. ParastÄ SLO vÄrtÄ«ba ir āSLI ā¤ Targetā vai āLower Limit ā¤ SLI ā¤ Upper Limitā. PiemÄram, mÄs varam nolemt, ka Å ekspÄ«ra meklÄÅ”anas rezultÄtus atgriezÄ«sim āÄtriā, iestatot SLO uz vidÄjo meklÄÅ”anas vaicÄjuma latentumu, kas ir mazÄks par 100 milisekundÄm.
PareizÄ SLO izvÄle ir sarežģīts process. PirmkÄrt, jÅ«s ne vienmÄr varat izvÄlÄties konkrÄtu vÄrtÄ«bu. ÄrÄjiem ienÄkoÅ”ajiem HTTP pieprasÄ«jumiem jÅ«su pakalpojumam metriku Query Per Second (QPS) galvenokÄrt nosaka lietotÄju vÄlme apmeklÄt jÅ«su pakalpojumu, un jÅ«s nevarat iestatÄ«t SLO.
No otras puses, varat teikt, ka vÄlaties, lai katra pieprasÄ«juma vidÄjais latentums bÅ«tu mazÄks par 100 milisekundÄm. Å Äda mÄrÄ·a iestatÄ«Å”ana var likt jums rakstÄ«t frontend ar zemu latentumu vai iegÄdÄties aprÄ«kojumu, kas nodroÅ”ina Å”Ädu latentumu. (100 milisekundes acÄ«mredzot ir patvaļīgs skaitlis, taÄu labÄk ir vÄl mazÄki latentuma skaitļi. Ir pierÄdÄ«jumi, kas liecina, ka liels Ätrums ir labÄks par lÄnu Ätrumu un ka latentums lietotÄju pieprasÄ«jumu apstrÄdÄ, kas pÄrsniedz noteiktas vÄrtÄ«bas, faktiski liek cilvÄkiem palikt prom. no jÅ«su dienesta.)
Atkal, tas ir daudz neskaidrÄk, nekÄ varÄtu Ŕķist no pirmÄ acu uzmetiena: jums nevajadzÄtu pilnÄ«bÄ izslÄgt QPS no aprÄÄ·ina. Fakts ir tÄds, ka QPS un latentums ir cieÅ”i saistÄ«ti viens ar otru: augstÄks QPS bieži noved pie lielÄka latentuma, un pakalpojumu veiktspÄja parasti krasi samazinÄs, kad tie sasniedz noteiktu slodzes slieksni.
Atlasot un publicÄjot SLO, tiek noteiktas lietotÄju cerÄ«bas par pakalpojuma darbÄ«bu. Å Ä« stratÄÄ£ija var samazinÄt nepamatotas sÅ«dzÄ«bas pret pakalpojuma Ä«paÅ”nieku, piemÄram, lÄnu darbÄ«bu. Bez skaidra SLO lietotÄji bieži vien rada savas cerÄ«bas par vÄlamo veiktspÄju, kam var nebÅ«t nekÄda sakara ar to cilvÄku viedokļiem, kuri izstrÄdÄ un pÄrvalda pakalpojumu. Å Äda situÄcija var radÄ«t paaugstinÄtas cerÄ«bas no pakalpojuma, kad lietotÄji maldÄ«gi uzskata, ka pakalpojums bÅ«s pieejamÄks, nekÄ tas patiesÄ«bÄ ir, un izraisÄ«t neuzticÄ«bu, ja lietotÄji uzskata, ka sistÄma ir mazÄk uzticama nekÄ patiesÄ«bÄ.
LÄ«gumi
Pakalpojuma lÄ«meÅa lÄ«gums ir tieÅ”s vai netieÅ”s lÄ«gums ar jÅ«su lietotÄjiem, kas ietver tajÄ ietverto SLO izpildes (vai neievÄroÅ”anas) sekas. Sekas ir visvieglÄk pamanÄmas, ja tÄs ir finansiÄlas ā atlaide vai soda nauda, āātaÄu tÄs var izpausties arÄ« citos veidos. VienkÄrÅ”s veids, kÄ runÄt par atŔķirÄ«bu starp SLO un SLA, ir jautÄt: āKas notiek, ja SLO netiek izpildÄ«ti?ā Ja nav skaidru seku, jÅ«s gandrÄ«z noteikti skatÄties uz SLO.
SRE parasti nav iesaistÄ«ts SLA izveidÄ, jo SLA ir cieÅ”i saistÄ«ti ar biznesa un produktu lÄmumiem. TomÄr SRE ir iesaistÄ«ts neveiksmÄ«gu SLO seku mazinÄÅ”anÄ. Tie var arÄ« palÄ«dzÄt noteikt VDI: AcÄ«mredzot lÄ«gumÄ ir jÄbÅ«t objektÄ«vam veidam, kÄ noteikt SLO, pretÄjÄ gadÄ«jumÄ radÄ«sies domstarpÄ«bas.
Google meklÄÅ”ana ir svarÄ«ga pakalpojuma piemÄrs, kuram nav publiska SLA: mÄs vÄlamies, lai ikviens izmantotu MeklÄÅ”anu pÄc iespÄjas efektÄ«vÄk, taÄu mÄs neesam parakstÄ«juÅ”i lÄ«gumu ar pasauli. TomÄr, ja meklÄÅ”ana nav pieejama, joprojÄm ir sekas ā nepieejamÄ«bas dÄļ samazinÄs mÅ«su reputÄcija, kÄ arÄ« samazinÄs reklÄmas ieÅÄmumi. Daudziem citiem Google pakalpojumiem, piemÄram, Google for Work, ir skaidri lÄ«gumi par pakalpojumu lÄ«meni ar lietotÄjiem. NeatkarÄ«gi no tÄ, vai konkrÄtajam pakalpojumam ir SLA, ir svarÄ«gi definÄt SLI un SLO un izmantot tos pakalpojuma pÄrvaldÄ«Å”anai.
Tik daudz teorijas - tagad jÄpiedzÄ«vo.
RÄdÄ«tÄji praksÄ
Å emot vÄrÄ to, ka esam secinÄjuÅ”i, ka pakalpojumu lÄ«meÅa mÄrÄ«Å”anai ir svarÄ«gi izvÄlÄties atbilstoÅ”us rÄdÄ«tÄjus, kÄ jÅ«s tagad zinÄt, kuri rÄdÄ«tÄji ir svarÄ«gi pakalpojumam vai sistÄmai?
Kas jums un jÅ«su lietotÄjiem rÅ«p?
Jums nav jÄizmanto katrs rÄdÄ«tÄjs kÄ SLI, ko varat izsekot uzraudzÄ«bas sistÄmÄ; Izpratne par to, ko lietotÄji vÄlas no sistÄmas, palÄ«dzÄs atlasÄ«t vairÄkus rÄdÄ«tÄjus. IzvÄloties pÄrÄk daudz indikatoru, ir grÅ«ti koncentrÄties uz svarÄ«giem rÄdÄ«tÄjiem, savukÄrt, izvÄloties nelielu skaitu, lielas sistÄmas daļas var atstÄt bez uzraudzÄ«bas. MÄs parasti izmantojam vairÄkus galvenos rÄdÄ«tÄjus, lai novÄrtÄtu un izprastu sistÄmas stÄvokli.
Pakalpojumus parasti var iedalÄ«t vairÄkÄs daļÄs saistÄ«bÄ ar VDI, kas attiecas uz tiem:
- PielÄgotas priekÅ”gala sistÄmas, piemÄram, Å ekspÄ«ra pakalpojuma meklÄÅ”anas saskarnes no mÅ«su piemÄra. Tiem jÄbÅ«t pieejamiem, tiem jÄbÅ«t bez aizkaves un ar pietiekamu joslas platumu. AttiecÄ«gi var uzdot jautÄjumus: vai mÄs varam atbildÄt uz pieprasÄ«jumu? Cik ilgs laiks pagÄja, lai atbildÄtu uz pieprasÄ«jumu? Cik pieprasÄ«jumu var apstrÄdÄt?
- UzglabÄÅ”anas sistÄmas. ViÅi novÄrtÄ zemu atbildes latentumu, pieejamÄ«bu un izturÄ«bu. SaistÄ«tie jautÄjumi: cik ilgs laiks nepiecieÅ”ams datu lasÄ«Å”anai vai rakstÄ«Å”anai? Vai mÄs varam piekļūt datiem pÄc pieprasÄ«juma? Vai dati ir pieejami, kad mums tie ir nepiecieÅ”ami? Skatiet 26. nodaļu Datu integritÄte: tas, ko jÅ«s lasÄt, ir tas, ko jÅ«s rakstÄt, lai iegÅ«tu detalizÄtu diskusiju par Å”iem jautÄjumiem.
- Lielo datu sistÄmas, piemÄram, datu apstrÄdes cauruļvadi, ir atkarÄ«gas no caurlaidspÄjas un vaicÄjumu apstrÄdes latentuma. SaistÄ«tie jautÄjumi: cik daudz datu tiek apstrÄdÄts? Cik ilgs laiks nepiecieÅ”ams, lai dati tiktu pÄrvietoti no pieprasÄ«juma saÅemÅ”anas lÄ«dz atbildes sniegÅ”anai? (DažÄs sistÄmas daļÄs noteiktos posmos var bÅ«t arÄ« aizkave.)
RÄdÄ«tÄju kolekcija
Daudzi pakalpojumu lÄ«meÅa rÄdÄ«tÄji visdabiskÄk tiek savÄkti servera pusÄ, izmantojot uzraudzÄ«bas sistÄmu, piemÄram, Borgmon (skatÄ«t zemÄk).
ApkopoŔana
VienkÄrŔības un lietoÅ”anas vienkÄrŔības labad mÄs bieži apkopojam neapstrÄdÄtus mÄrÄ«jumus. Tas jÄdara uzmanÄ«gi.
Daži rÄdÄ«tÄji Ŕķiet vienkÄrÅ”i, piemÄram, pieprasÄ«jumi sekundÄ, taÄu pat Å”is Ŕķietami vienkÄrÅ”ais mÄrÄ«jums netieÅ”i apkopo datus laika gaitÄ. Vai mÄrÄ«jums tiek saÅemts Ä«paÅ”i vienu reizi sekundÄ, vai arÄ« mÄrÄ«jums tiek aprÄÄ·inÄts, Åemot vÄrÄ pieprasÄ«jumu skaitu minÅ«tÄ? PÄdÄjÄ opcija var paslÄpt daudz lielÄku momentÄno pieprasÄ«jumu skaitu, kas ilgst tikai dažas sekundes. Apsveriet sistÄmu, kas apkalpo 200 pieprasÄ«jumus sekundÄ ar pÄra skaitļiem un 0 pÄrÄjÄ laikÄ. Konstante vidÄjÄs vÄrtÄ«bas formÄ 100 pieprasÄ«jumi sekundÄ un divreiz lielÄka momentÄnÄ slodze nav viens un tas pats. LÄ«dzÄ«gi var Ŕķist pievilcÄ«ga vidÄjÄ vaicÄjuma latentuma noteikÅ”ana, taÄu tÄ slÄpj svarÄ«gu detaļu: iespÄjams, ka lielÄkÄ daļa vaicÄjumu bÅ«s Ätri, taÄu daudzi vaicÄjumi bÅ«s lÄni.
LielÄko daļu rÄdÄ«tÄju labÄk uztvert kÄ sadalÄ«jumu, nevis vidÄjos rÄdÄ«tÄjus. PiemÄram, SLI latentuma gadÄ«jumÄ daži pieprasÄ«jumi tiks apstrÄdÄti Ätri, savukÄrt daži vienmÄr prasÄ«s ilgÄku laiku, dažreiz daudz ilgÄk. VienkÄrÅ”s vidÄjais rÄdÄ«tÄjs var paslÄpt Ŕīs ilgÄs kavÄÅ”anÄs. AttÄlÄ parÄdÄ«ts piemÄrs: lai gan tipiska pieprasÄ«juma izpilde aizÅem aptuveni 50 ms, 5% pieprasÄ«jumu ir 20 reizes lÄnÄki! UzraudzÄ«ba un brÄ«dinÄjumi, kas balstÄ«ti tikai uz vidÄjo latentumu, neuzrÄda izmaiÅas darbÄ«bÄ visas dienas garumÄ, lai gan patiesÄ«bÄ dažu pieprasÄ«jumu apstrÄdes laikÄ ir manÄmas izmaiÅas (augÅ”ÄjÄ rinda).
50, 85, 95 un 99 procentiļu sistÄmas latentums. Y ass ir logaritmiskÄ formÄtÄ.
Izmantojot procentiles indikatoriem, varat redzÄt sadalÄ«juma formu un tÄ raksturlielumus: augsts procentiles lÄ«menis, piemÄram, 99 vai 99,9, parÄda sliktÄko vÄrtÄ«bu, savukÄrt 50 procentile (pazÄ«stama arÄ« kÄ mediÄna) parÄda visbiežÄk sastopamo procentuÄlo vÄrtÄ«bu. metrika. Jo lielÄka ir reakcijas laika izkliede, jo vairÄk ilgstoÅ”ie pieprasÄ«jumi ietekmÄ lietotÄja pieredzi. Efekts tiek uzlabots pie lielas slodzes un rindu klÄtbÅ«tnÄ. LietotÄju pieredzes pÄtÄ«jumi ir parÄdÄ«juÅ”i, ka cilvÄki parasti dod priekÅ”roku lÄnÄkai sistÄmai ar lielu reakcijas laika novirzi, tÄpÄc dažas SRE komandas koncentrÄjas tikai uz augstiem procentiles rÄdÄ«tÄjiem, pamatojoties uz to, ka, ja metrikas darbÄ«ba 99,9 procentilÄ ir laba, lielÄkajai daļai lietotÄju problÄmas nebÅ«s. .
PiezÄ«me par statistikas kļūdÄm
MÄs parasti dodam priekÅ”roku darbam ar procentilÄm, nevis vÄrtÄ«bu kopas vidÄjo (vidÄjo aritmÄtisko). Tas ļauj mums apsvÄrt vairÄk izkliedÄtas vÄrtÄ«bas, kurÄm bieži ir ievÄrojami atŔķirÄ«gi (un interesantÄki) raksturlielumi nekÄ vidÄji. DatorsistÄmu mÄkslÄ«gÄ rakstura dÄļ metriskÄs vÄrtÄ«bas bieži tiek novirzÄ«tas tÄ, ka neviens pieprasÄ«jums nevar saÅemt atbildi ÄtrÄk par 0 ms, un 1000 ms noildze nozÄ«mÄ, ka nevar bÅ«t veiksmÄ«gas atbildes ar vÄrtÄ«bÄm, kas lielÄkas par taimauts. RezultÄtÄ mÄs nevaram pieÅemt, ka vidÄjais un mediÄna var bÅ«t vienÄdi vai tuvu viens otram!
Bez iepriekÅ”Äjas pÄrbaudes un, ja vien nav spÄkÄ daži standarta pieÅÄmumi un tuvinÄjumi, mÄs esam uzmanÄ«gi, lai nesecinÄtu, ka mÅ«su dati tiek izplatÄ«ti normÄli. Ja izplatÄ«Å”ana nav tÄda, kÄ paredzÄts, automatizÄcijas process, kas novÄrÅ” problÄmu (piemÄram, kad tiek konstatÄtas novirzes, serveris restartÄjas ar lielu pieprasÄ«jumu apstrÄdes latentumu), var to darÄ«t pÄrÄk bieži vai nepietiekami bieži (abas nav ļoti labi).
StandartizÄt rÄdÄ«tÄjus
MÄs iesakÄm standartizÄt SLI vispÄrÄ«gos raksturlielumus, lai jums nebÅ«tu katru reizi par tiem jÄdomÄ. Jebkura funkcija, kas atbilst standarta modeļiem, var tikt izslÄgta no atseviŔķa SLI specifikÄcijas, piemÄram:
- ApkopoÅ”anas intervÄli: āvidÄji vairÄk nekÄ 1 minÅ«teā
- ApkopoÅ”anas apgabali: āVisi uzdevumi klasterÄ«ā
- Cik bieži tiek veikti mÄrÄ«jumi: āIk pÄc 10 sekundÄmā
- KÄdi pieprasÄ«jumi ir iekļauti: "HTTP GET no melnÄs kastes uzraudzÄ«bas darbiem"
- KÄ iegÅ«ti dati: "Pateicoties mÅ«su serverÄ« izmÄrÄ«tajam monitoringam"
- Datu piekļuves latentums: āLaiks lÄ«dz pÄdÄjam baitamā
Lai ietaupÄ«tu pÅ«les, izveidojiet atkÄrtoti lietojamu SLI veidÅu kopu katram kopÄjam rÄdÄ«tÄjam; tie arÄ« ļauj ikvienam vieglÄk saprast, ko nozÄ«mÄ noteikta VDI.
MÄrÄ·i praksÄ
SÄciet, domÄjot par to (vai noskaidrojot!), kas rÅ«p jÅ«su lietotÄjiem, nevis par to, ko varat izmÄrÄ«t. Bieži vien to, kas ir svarÄ«gi jÅ«su lietotÄjiem, ir grÅ«ti vai neiespÄjami izmÄrÄ«t, tÄpÄc jÅ«s nonÄkat tuvÄk viÅu vajadzÄ«bÄm. TomÄr, ja jÅ«s vienkÄrÅ”i sÄkat ar to, ko ir viegli izmÄrÄ«t, jÅ«s iegÅ«sit mazÄk noderÄ«gus SLO. RezultÄtÄ dažkÄrt esam atklÄjuÅ”i, ka sÄkotnÄji vÄlamo mÄrÄ·u noteikÅ”ana un pÄc tam darbs ar konkrÄtiem rÄdÄ«tÄjiem izdodas labÄk nekÄ indikatoru izvÄle un pÄc tam mÄrÄ·u sasniegÅ”ana.
DefinÄjiet savus mÄrÄ·us
Lai nodroÅ”inÄtu maksimÄlu skaidrÄ«bu, bÅ«tu jÄdefinÄ, kÄ tiek mÄrÄ«ti SLO, un nosacÄ«jumi, kÄdos tie ir derÄ«gi. PiemÄram, mÄs varÄtu teikt sekojoÅ”o (otrÄ rinda ir tÄda pati kÄ pirmÄ, bet izmanto SLI noklusÄjuma iestatÄ«jumus):
- 99% (vidÄji vairÄk nekÄ 1 minÅ«te) no Get RPC zvaniem tiks pabeigti mazÄk nekÄ 100 ms (mÄrot visos aizmugursistÄmas serveros).
- 99% Get RPC zvanu tiks pabeigti mazÄk nekÄ 100 ms laikÄ.
Ja veiktspÄjas lÄ«kÅu forma ir svarÄ«ga, varat norÄdÄ«t vairÄkus SLO:
- 90% Get RPC zvanu tiek pabeigti mazÄk nekÄ 1 ms laikÄ.
- 99% Get RPC zvanu tiek pabeigti mazÄk nekÄ 10 ms laikÄ.
- 99.9% Get RPC zvanu tiek pabeigti mazÄk nekÄ 100 ms laikÄ.
Ja jÅ«su lietotÄji Ä£enerÄ neviendabÄ«gas darba slodzes: lielapjoma apstrÄdi (kurai ir svarÄ«ga caurlaidspÄja) un interaktÄ«vo apstrÄdi (kurai svarÄ«gs latentums), iespÄjams, ir vÄrts definÄt atseviŔķus mÄrÄ·us katrai slodzes klasei.
- 95% klientu pieprasÄ«jumu prasa caurlaidspÄju. Iestatiet izpildÄ«to RPC zvanu skaitu <1 s.
- 99% klientu rūp latentums. Iestatiet to RPC zvanu skaitu, kuru trafiks ir <1 KB un darbojas <10 ms.
Ir nereÄli un nevÄlami uzstÄt, ka SLO tiks izpildÄ«ti 100% gadÄ«jumu: tas var samazinÄt jaunas funkcionalitÄtes ievieÅ”anas un ievieÅ”anas tempu un prasÄ«t dÄrgus risinÄjumus. TÄ vietÄ labÄk ir atļaut kļūdu budžetu ā sistÄmas atļautÄs dÄ«kstÄves procentuÄlo daļu ā un pÄrraudzÄ«t Å”o vÄrtÄ«bu katru dienu vai katru nedÄļu. AugstÄkÄ vadÄ«ba var vÄlÄties ikmÄneÅ”a vai ceturkÅ”Åa novÄrtÄjumus. (Kļūdas budžets ir vienkÄrÅ”i SLO salÄ«dzinÄÅ”anai ar citu SLO.)
SLO pÄrkÄpumu procentuÄlo daļu var salÄ«dzinÄt ar kļūdu budžetu (skatiet 3. nodaļu un sadaļu
MÄrÄ·a vÄrtÄ«bu atlase
PlÄnoÅ”anas vÄrtÄ«bu (SLO) izvÄle nav tÄ«ri tehniska darbÄ«ba produktu un biznesa intereÅ”u dÄļ, kas ir jÄatspoguļo atlasÄ«tajos SLI, SLO (un, iespÄjams, SLA). TÄpat var bÅ«t nepiecieÅ”ama informÄcijas apmaiÅa par jautÄjumiem, kas saistÄ«ti ar personÄlu, laiku lÄ«dz tirgum, aprÄ«kojuma pieejamÄ«bu un finansÄjumu. SRE vajadzÄtu bÅ«t daļai no Ŕīs sarunas un palÄ«dzÄt izprast dažÄdu iespÄju riskus un dzÄ«votspÄju. MÄs esam izvirzÄ«juÅ”i dažus jautÄjumus, kas varÄtu palÄ«dzÄt nodroÅ”inÄt produktÄ«vÄku diskusiju:
NeizvÄlieties mÄrÄ·i, pamatojoties uz paÅ”reizÄjo sniegumu.
Lai gan ir svarÄ«gi saprast sistÄmas stiprÄs puses un robežas, metriku pielÄgoÅ”ana bez pamatojuma var liegt jums uzturÄt sistÄmu: tas prasÄ«s varonÄ«gas pÅ«les, lai sasniegtu mÄrÄ·us, kurus nevar sasniegt bez bÅ«tiskas pÄrprojektÄÅ”anas.
AtstÄj to vienkÄrÅ”u
Sarežģīti SLI aprÄÄ·ini var paslÄpt izmaiÅas sistÄmas veiktspÄjÄ un apgrÅ«tinÄt problÄmas cÄloÅa atraÅ”anu.
Izvairieties no absolūtiem
Lai gan ir vilinoÅ”i izveidot sistÄmu, kas spÄj izturÄt bezgalÄ«gi augoÅ”u slodzi, nepalielinot latentumu, Ŕī prasÄ«ba ir nereÄla. SistÄma, kas tuvojas Å”Ädiem ideÄliem, visticamÄk, prasÄ«s daudz laika, lai izstrÄdÄtu un izveidotu, tÄs darbÄ«ba bÅ«s dÄrga, un tÄ bÅ«s pÄrÄk laba to lietotÄju cerÄ«bÄm, kuri darÄ«tu ar kaut ko mazÄk.
Izmantojiet pÄc iespÄjas mazÄk SLO
Atlasiet pietiekamu skaitu SLO, lai nodroÅ”inÄtu labu sistÄmas atribÅ«tu pÄrklÄjumu. AizsargÄjiet izvÄlÄtos SLO: ja jÅ«s nekad nevarat uzvarÄt strÄ«dÄ par prioritÄtÄm, norÄdot konkrÄtu SLO, iespÄjams, nav vÄrts apsvÄrt Å”o SLO. TomÄr ne visi sistÄmas atribÅ«ti ir piemÄroti SLO: ir grÅ«ti aprÄÄ·inÄt lietotÄja prieka lÄ«meni, izmantojot SLO.
Nevajag dzÄ«ties pÄc pilnÄ«bas
Laika gaitÄ vienmÄr varat precizÄt SLO definÄ«cijas un mÄrÄ·us, uzzinot vairÄk par sistÄmas darbÄ«bu slodzes laikÄ. LabÄk ir sÄkt ar peldoÅ”u mÄrÄ·i, ko laika gaitÄ pilnveidosit, nekÄ izvÄlÄties pÄrÄk stingru mÄrÄ·i, kas ir jÄatslÄbina, kad uzskatÄt, ka tas ir nesasniedzams.
SLO var bÅ«t galvenais virzÄ«tÄjspÄks, un tiem vajadzÄtu bÅ«t SRE un produktu izstrÄdÄtÄju darba prioritÄtes noteikÅ”anai, jo tie atspoguļo lietotÄju bažas. Labs SLO ir noderÄ«gs izpildes rÄ«ks izstrÄdes komandai. Bet slikti izstrÄdÄts SLO var novest pie izŔķÄrdÄ«ga darba, ja komanda pieliek varonÄ«gas pÅ«les, lai sasniegtu pÄrÄk agresÄ«vu SLO, vai slikts produkts, ja SLO ir pÄrÄk zems. SLO ir spÄcÄ«ga svira, izmantojiet to saprÄtÄ«gi.
KontrolÄjiet savus mÄrÄ«jumus
SLI un SLO ir galvenie sistÄmu pÄrvaldÄ«bas elementi:
- UzraudzÄ«t un mÄrÄ«t SLI sistÄmas.
- Salīdziniet SLI ar SLO un izlemiet, vai ir nepiecieŔama darbība.
- Ja ir nepiecieÅ”ama darbÄ«ba, izdomÄjiet, kam jÄnotiek, lai sasniegtu mÄrÄ·i.
- Pabeidziet Ŕo darbību.
PiemÄram, ja 2. darbÄ«ba parÄda, ka pieprasÄ«jumam iestÄjas noildze, un pÄc dažÄm stundÄm tiks pÄrtraukts SLO, ja nekas netiks darÄ«ts, 3. darbÄ«ba var ietvert hipotÄzes pÄrbaudi, ka serveri ir saistÄ«ti ar CPU, un, pievienojot vairÄk serveru, slodze tiks sadalÄ«ta. Bez SLO jÅ«s nezinÄtu, vai (vai kad) rÄ«koties.
IestatÄ«t SLO - tad tiks iestatÄ«tas lietotÄja cerÄ«bas
SLO publicÄÅ”ana nosaka lietotÄju cerÄ«bas attiecÄ«bÄ uz sistÄmas darbÄ«bu. LietotÄji (un potenciÄlie lietotÄji) bieži vÄlas zinÄt, ko sagaidÄ«t no pakalpojuma, lai saprastu, vai tas ir piemÄrots lietoÅ”anai. PiemÄram, cilvÄki, kas vÄlas izmantot fotoattÄlu koplietoÅ”anas vietni, varÄtu vÄlÄties izvairÄ«ties no pakalpojuma, kas sola ilgmūžību un zemas izmaksas, apmaiÅÄ pret nedaudz mazÄku pieejamÄ«bu, lai gan tas pats pakalpojums varÄtu bÅ«t ideÄls arhÄ«vu ierakstu pÄrvaldÄ«bas sistÄmai.
Lai lietotÄjiem liktu reÄlas cerÄ«bas, izmantojiet vienu vai abas no tÄlÄk norÄdÄ«tajÄm taktikÄm.
- SaglabÄjiet droŔības rezervi. Izmantojiet stingrÄku iekÅ”Äjo SLO, nekÄ tiek reklamÄts lietotÄjiem. Tas dos jums iespÄju reaÄ£Ät uz problÄmÄm, pirms tÄs kļūst redzamas ÄrÄji. SLO buferis arÄ« ļauj jums nodroÅ”inÄt droŔības rezervi, instalÄjot laidienus, kas ietekmÄ sistÄmas veiktspÄju, un nodroÅ”ina, ka sistÄmu ir viegli uzturÄt, neradot lietotÄjus dÄ«kstÄves dÄļ.
- NepÄrsniedziet lietotÄju cerÄ«bas. LietotÄji balstÄs uz jÅ«su piedÄvÄto, nevis jÅ«su teikto. Ja jÅ«su pakalpojuma faktiskÄ veiktspÄja ir daudz labÄka par norÄdÄ«to SLO, lietotÄji paļausies uz paÅ”reizÄjo veiktspÄju. JÅ«s varat izvairÄ«ties no pÄrmÄrÄ«gas atkarÄ«bas, apzinÄti izslÄdzot sistÄmu vai ierobežojot veiktspÄju pie nelielas slodzes.
Izpratne par to, cik labi sistÄma atbilst cerÄ«bÄm, palÄ«dz izlemt, vai investÄt, lai paÄtrinÄtu sistÄmu un padarÄ«tu to pieejamÄku un elastÄ«gÄku. AlternatÄ«vi, ja pakalpojums darbojas pÄrÄk labi, daļa personÄla laika jÄvelta citÄm prioritÄtÄm, piemÄram, tehniskÄ parÄda dzÄÅ”anai, jaunu funkciju pievienoÅ”anai vai jaunu produktu ievieÅ”anai.
LÄ«gumi praksÄ
Lai izveidotu SLA, biznesa un juridiskajÄm komandÄm ir jÄdefinÄ sekas un sodi par tÄ pÄrkÄpÅ”anu. SRE uzdevums ir palÄ«dzÄt viÅiem izprast iespÄjamÄs problÄmas, lai izpildÄ«tu SLA ietvertos SLO. LielÄkÄ daļa ieteikumu par SLO izveidi attiecas arÄ« uz SLA. Ir saprÄtÄ«gi bÅ«t konservatÄ«vam attiecÄ«bÄ uz lietotÄjiem solÄ«to, jo jo vairÄk jums ir, jo grÅ«tÄk ir mainÄ«t vai noÅemt SLA, kas Ŕķiet nepamatoti vai grÅ«ti izpildÄmi.
Paldies, ka izlasÄ«jÄt tulkojumu lÄ«dz beigÄm. AbonÄjiet manu telegrammas kanÄlu par uzraudzÄ«bu
Avots: www.habr.com