cum se măsoară corect latența în 7 minute
măsurarea corectă a latenței necesită să aveți date de calitate. Există un motiv pentru care „2016 Global CEO Outlook” al KPMG a constatat că 84% dintre CEO sunt preocupați de calitatea datelor pe care își bazează deciziile și este pentru că prea des datele pot induce în eroare.
diferența dintre companiile cărora le pasă de datele lor și nu este imensă. Cercetătorii MIT au descoperit că companiile care au adoptat un design bazat pe date au o producție cu 5-6% mai mare decât ceea ce s-ar aștepta, având în vedere celelalte investiții și utilizarea tehnologiei informației. Numai acest motiv face înțelegerea latenței critice pentru succesul afacerii.
în doar 7 minute, veți afla tot ce trebuie să știți despre măsurarea latenței
- cum să măsurați latența
- de ce măsurarea corectă contează
- capcane comune atunci când vă uitați la datele dvs. de latență
- criticitatea feedback-ului instant
- de ce sunt necesare date neeșantionate
deci, ce este latența?
Dictionary.com definește latența ca”perioada de întârziere atunci când o componentă a unui sistem hardware așteaptă ca o acțiune să fie executată de o altă componentă”. În termeni mai simpli, aceasta înseamnă perioada de timp dintre apelarea unei funcții și execuția sa efectivă. Latența este inerentă tuturor sistemelor; chiar dacă am avea un sistem perfect(care nu există), ar fi latent timpul necesar electronilor din computer pentru a comuta tranzistoarele de la pornit la Oprit sau invers.
latența în operațiile mici nu este mare lucru, dar atunci când se gestionează milioane de operații, există milioane de latențe care se adună rapid. Latența nu este definită de o unitate de lucru/timp, ci de modul în care se comportă. Instrumentele de monitorizare raportează cât durează de la începutul unei funcții până la sfârșitul funcției.
latența poate avea un impact major asupra afacerii dvs., de exemplu „când vine vorba de viteza mobilă, fiecare secundă contează — pentru fiecare secundă suplimentară este nevoie de o pagină mobilă pentru a se încărca, conversiile pot scădea cu până la 20%”(sursă). Deci, este extrem de important să vă înțelegeți latența cât de bine puteți.
capcane comune atunci când vă uitați la datele dvs. de latență:
latența nu urmează aproape niciodată o distribuție normală, Gaussiană sau Poisson. Chiar dacă latența dvs. urmează una dintre aceste distribuții datorită modului în care observăm latența, aceasta face inutile mediile, mediile și chiar abaterile standard! Dacă, de exemplu, măsurați încărcările paginii, 99.9999999999% din aceste încărcări pot fi mai slabe decât mediana dvs. (Faceți clic pentru a tweet această statistică) aceasta face parte din motivul pentru care eșantionarea aleatorie a latenței dvs. provoacă date inexacte, dar mai multe despre aceasta mai târziu.
în acest moment, probabil vă întrebați dacă nu folosim nicio abatere standard, cum putem descrie în mod semnificativ latențele? Răspunsul este că trebuie să ne uităm la percentile și maxime. Majoritatea oamenilor se gândesc la ei înșiși, bine, așa că mă uit la P95 și înțeleg „cazul comun”. Problema cu acest lucru este că P95 va ascunde toate lucrurile rele. După cum spune Gil Tene, CTO al Azul Systems, „este un „sistem de marketing”, cineva este înșelat.”
luați, de exemplu, acest grafic:
când vedeți acest grafic, puteți vedea clar de ce este mediana și media nu au nici o semnificație reală, ele nu arată zona cu probleme. Când vedeți percentila 95 trage până la stânga credeți că vedeți inima problemei.
acest lucru, desigur, nu este adevărat, deși, atunci când te duci pentru a investiga de ce programul a avut un sughiț sunteți în imposibilitatea de a vedea cel mai rău 5% din ceea ce sa întâmplat. Pentru a obține acest tip de vârf necesită ca primele 5% din date să fie semnificativ mai rele.
acum uita-te la același grafic care arată, de asemenea, 99.99-lea percentila:
acea linie roșie este A 95-a percentilă, în timp ce verde este a 99,99-a linie percentilă. După cum puteți vedea în mod clar percentila 95 arată doar 2 din 22 de problemele tale! Acesta este motivul pentru care trebuie să vă uitați la întregul spectru al datelor dvs.
în ciuda faptului că mulți oameni ar putea crede că ultimele 5% din date nu au o semnificație atât de mare. Sigur, ar putea fi doar o repornire mașină virtuală sau un sughiț în sistemul dvs., sau ceva de genul asta, dar în timp ce acest lucru este adevărat ignorând-o, vă spun că pur și simplu nu se întâmplă atunci când ar putea fi unul dintre cele mai importante lucruri pentru tine de a viza!
lui Gil Tenel îi place să facă afirmația îndrăzneață că „indicatorul numărul unu de care nu ar trebui să scapi niciodată este valoarea maximă. Acesta nu este zgomot, acesta este semnalul. Restul este zgomot.”În timp ce maximul este într-adevăr un singur mare într-un sistem la scară largă, adesea nu este practic să urmărim doar cazul maxim. Niciun sistem nu este perfect și apar sughițuri, într-un sistem practic la scară largă care urmărește exclusiv cazul maxim este adesea o modalitate bună de a vă arde echipa de dezvoltare.
atunci când se uită la 99.99-lea percentila vedeți ce se întâmplă cu marea majoritate a clienților dumneavoastră și orice piroane vedeți acolo știți sunt probleme reale, întrucât orice piroane în maxim poate fi doar un sughiț în sistemul dumneavoastră. Când echipele devops își concentrează efortul asupra acestor mici sughițuri, fac acest lucru cu costuri mari de oportunitate, deoarece nu pot lucra în schimb la probleme mai majore.
este de remarcat faptul că, dacă 99.99-lea și maxim dvs. sunt foarte aproape unul de altul(și sunt ambele ghimpat) decât este un semnal de mare că aceasta este o problemă echipa ta ar trebui să lucreze la. În acest fel, Gil are dreptate că maximul este un semnal excelent, dar greșit că restul datelor dvs. este doar zgomot. După cum puteți vedea în acest grafic:
nostru 99.Percentila 99 și maximul din exemplul nostru anterior se potrivesc exact. Acesta este un semnal excelent că ceea ce vă uitați este un bug real și nu doar un sughiț.
percentile medii: cum Precomputarea vă determină să măsurați greșit latența:
o capcană și mai rea în care cad oamenii decât să se uite la percentila a 95-a nu recunoaște că percentilele lor sunt medii. Media percentilelor este statistic absurdă; elimină orice semnificație din ceea ce priviți. Am arătat deja cum mediile nu sunt bune, atunci când se uită la latență, și dacă sunteți în căutarea la percentilele medii sunt pur și simplu înapoi la un pătrat. Multe medii ale software-ului percentilele dvs. iau, de exemplu, această diagramă Grafana:
indiferent dacă ați realizat-o sau nu înainte ca toate percentilele de pe aceasta să fie medii! Scrie chiar acolo în registrul axei X. APROAPE TOATE SERVICIILE DE MONITORIZARE MEDIE PERCENTILELE TALE! Aceasta este o realitate datorată precomputării. Când serviciul dvs. de monitorizare preia datele dvs., acestea calculează percentila datelor pentru acel minut.
apoi, atunci când te duci să ia o privire la percentila ta 95, ei vă arată o medie de pe toate percentile tale. Această scurtătură pentru „binele tău” pentru a-ți face serviciul mai rapid, elimină, în realitate, toată semnificația statistică din datele tale.
de ce trebuie să aveți date Neeșantionate pentru a măsura corect latența:
indiferent dacă știți sau nu, prin instrumentele de monitorizare care participă la eșantionarea datelor, acestea produc date medii. Aproape fiecare instrument de monitorizare își eșantionează datele. Luați, de exemplu, DataDog; au pierderi majore de date. Dacă le trimiteți 3 milioane de puncte într-un minut, nu le vor lua pe toate. În schimb, ei vor eșantiona aleatoriu punctele, apoi le vor agrega în 1 punct pe minut.
trebuie să aveți date neeșantionate pentru a vă înțelege latența. Este inerent că, cu datele eșantionate, nu puteți accesa distribuția completă! Maximul tău nu este adevăratul tău maxim și nici percentila ta globală nu este o reprezentare exactă a ceea ce se întâmplă!
datele eșantionate exacerbează omisiunea coordonată!
când eșantionați date, omiteți datele. Spuneți, de exemplu, că aveți 10.000 de operațiuni care se întâmplă într-un minut, trimițând 2 puncte de date fiecare către sistemul dvs. de monitorizare. Spuneți că aveți o eroare în sistemul dvs. și unul dintre aceste puncte de date arată acest lucru la 10.000 de operații. Sistemul dvs. de monitorizare are doar o șansă de 1/20. 000 de a alege acest lucru ca punct de date pe care vi-l arată ca maxim!
dacă rulați suficient de mult, punctul de date va apărea în cele din urmă, dar, ca rezultat, va arăta ca un caz de margine sporadic, chiar dacă se întâmplă cu unul dintre clienții dvs. în fiecare minut! Când nu eșantionați date și aveți unul dintre aceste vârfuri, acesta va apărea clar în percentila dvs. de 99,99, iar maximul dvs. va apărea aproape de acesta, semnalându-vă că aveți o eroare în programul dvs. Cu toate acestea, atunci când vă eșantionați datele, acestea nu vor apărea la fel de des, ceea ce înseamnă că nu le veți vedea ca pe un bug, ci mai degrabă ca pe un sughiț. Aceasta înseamnă că echipa dvs. de inginerie nu va reuși să realizeze semnificația acesteia!
nu lăsați instrumentul de monitorizare să vă păcălească să credeți că știți ce se întâmplă cu latența dvs.
alegeți un instrument care nu furnizează date eșantionate. Alegeți un instrument care nu vă medie percentilele globale. Începeți o încercare gratuită de două săptămâni astăzi!