25 února, 2022

jak správně měřit latenci za 7 minut

správné měření latence vyžaduje, abyste měli kvalitní data. Existuje důvod, proč KPMG „2016 Global CEO Outlook“ zjistil, že 84% generálních ředitelů je znepokojeno kvalitou dat, na kterých zakládají rozhodnutí, a je to proto, že až příliš často mohou data uvést v omyl.

rozdíl mezi společnostmi, které se starají o svá data a ne, je obrovský. Vědci z MIT zjistili, že společnosti, které přijaly návrh založený na datech, mají výstup, který je o 5-6% vyšší, než by se dalo očekávat vzhledem k jejich dalším investicím a využívání informačních technologií. Tento důvod sám o sobě činí pochopení latence rozhodující pro obchodní úspěch.

za pouhých 7 minut se dozvíte vše, co potřebujete vědět o měření latence

  • jak měřit latenci
  • proč je správné měření důležité
  • časté úskalí při pohledu na vaše data latence
  • kritičnost okamžité zpětné vazby
  • proč jsou vyžadována nezpracovaná data

co je tedy latence?

Dictionary.com definuje latenci jako „období zpoždění, kdy jedna součást hardwarového systému čeká na provedení akce jinou komponentou“. Zjednodušeně to znamená dobu mezi voláním funkce a jejím skutečným provedením. Latence je vlastní všem systémům; i kdybychom měli dokonalý systém(který neexistuje), bylo by latentní, kolik času trvá, než elektrony v počítači přepnou tranzistory z zapnuto na Vypnuto nebo naopak.

latence v malých operacích není velký problém, ale při manipulaci s miliony operací existují miliony latencí, které se rychle sčítají. Latence není definována pracovní jednotky / čas, ale místo toho, jak se chová. Monitorovací nástroje hlásí, jak dlouho trvá od začátku funkce až do konce funkce.

latence může mít zásadní dopad na vaše podnikání, například „pokud jde o mobilní rychlost, záleží na každé sekundě-za každou další sekundu trvá načtení mobilní stránky, konverze mohou klesnout až o 20%“(zdroj). Je tedy kriticky důležité porozumět vaší latenci co nejlépe.

časté úskalí při pohledu na vaše data latence:

latence téměř nikdy nesleduje normální, Gaussovo nebo Poissonovo rozdělení. I když vaše latence následuje jednu z těchto distribucí kvůli způsobu, jakým pozorujeme latenci, činí průměry, mediány a dokonce i standardní odchylky zbytečné! Pokud například měříte zatížení stránky, 99.9999999999% těchto zatížení může být horší než váš medián. (Kliknutím tweet tuto statistiku) to je část důvodu, že náhodné vzorkování vaše latence způsobuje nepřesné údaje, ale o tom později.

v tomto bodě se pravděpodobně ptáte sami sebe, pokud nepoužíváme žádnou směrodatnou odchylku, jak můžeme smysluplně popsat latence? Odpověď zní, že se musíme podívat na percentily a Maxima. Většina lidí si myslí, dobře, takže se podívám na P95 a chápu „běžný případ“. Problém s tím je, že P95 se chystá skrýt všechny špatné věci. Jak říká Gil Tene, CTO společnosti Azul Systems, „je to“ marketingový systém“, někdo je podveden.“

Vezměme si například tento graf:

Poznámka Editora: produkt BeeInstant, který vytvořil tento snímek obrazovky, již není k dispozici, ale jeho schopnosti jsou součástí platformy APM a Observability Instana.

když vidíte tento graf, můžete jasně vidět, proč je medián a průměr nemají žádný skutečný význam, neukazují problémovou oblast. Když vidíte 95. percentil střílet doleva si myslíte, že vidíte srdce problému.

to samozřejmě není pravda, když jdete prozkoumat, proč váš program měl škytavku, nevidíte nejhorší 5% toho, co se stalo. Chcete-li získat tento druh špice vyžaduje, aby top 5% dat je výrazně horší.

nyní se podívejte na stejný graf, který také ukazuje 99,99 percentil:

Poznámka Editora: produkt BeeInstant, který vytvořil tento snímek obrazovky, již není k dispozici, ale jeho schopnosti jsou součástí platformy APM a Observability Instana.

tato červená čára je 95. percentil, zatímco zelená je 99,99 percentilová čára. Jak můžete jasně vidět, 95. percentil ukazuje pouze 2 z 22 vašich problémů! Proto se musíte podívat na celé spektrum svých dat.

navzdory skutečnosti, že mnoho lidí si může myslet, že posledních 5% dat nemá tak velký význam. Tak určitě, mohlo by to být jen restartování virtuálního počítače nebo škytavka ve vašem systému, nebo něco takového, ale i když je to pravda tím, že to ignorujete, říkáte, že se to prostě nestane, když by to mohla být jedna z nejdůležitějších věcí, na které se můžete zaměřit!

Gil Tenel rád odvážně tvrdí, že “ indikátor číslo jedna, kterého byste se nikdy neměli zbavit, je maximální hodnota. To není šum, to je signál. Zbytek je hluk.“Zatímco maximum je skutečně skvělý singl v systému ve velkém měřítku, často není praktické sledovat pouze maximální případ. Žádný systém není dokonalý a škytavka se vyskytují, ve velkém měřítku praktického systému sleduje maximální případ výhradně je často dobrý způsob, jak vypálit svůj vývojový tým.

při pohledu na 99.99 th percentil vidíte, co se stane s velkou většinou vašich zákazníků a všechny hroty, které tam vidíte, víte, že jsou skutečné problémy, zatímco jakékoli hroty ve vašem maximu mohou být jen škytavkou ve vašem systému. Když vaše týmy devops soustředí své úsilí na tyto malé škytavky, dělají to za velké náklady na příležitost, protože místo toho nemohou pracovat na závažnějších otázkách.

je třeba poznamenat, že pokud jsou vaše 99.99 th a vaše maximum velmi blízko u sebe (a jsou oba špičaté), je to skvělý signál, že se jedná o problém, na kterém by měl váš tým pracovat. Tímto způsobem má Gil pravdu, že maximum je skvělý signál, ale špatně, že zbytek vašich dat je jen šum. Jak můžete vidět v tomto grafu:

Poznámka Editora: stejně jako výše, produkt, který vytvořil tento snímek obrazovky, již není k dispozici,ale jeho schopnosti jsou součástí platformy APM a Observability Instana.

naše 99.99. percentil a maximum z našeho předchozího příkladu se přesně shodují. To je skvělý signál, že to, na co se díváte, je skutečná chyba a ne jen škytavka.

průměrné percentily: jak Precomputace způsobuje nesprávné měření latence:

ještě horší úskalí, do kterého lidé spadají, než jen při pohledu na 95. percentil, nedokáže rozpoznat, že jejich percentily jsou zprůměrovány. Průměrování percentilů je statisticky absurdní; odstraňuje veškerý význam z toho, na co se díváte. Již jsme ukázali, jak průměry nejsou dobré, při pohledu na latenci, a pokud se díváte na průměrné percentily, jste prostě zpět na druhou. Mnoho softwarových průměrů vaše percentily berou například tento Grafana graf:

zda jste si to uvědomili dříve, než jsou všechny percentily v tomto ohledu průměrné! Píše se to tady v knize osy x. TÉMĚŘ VŠECHNY MONITOROVACÍ SLUŽBY PRŮMĚRUJÍ VAŠE PERCENTILY! To je realita kvůli předkomputaci. Když vaše monitorovací služba převezme vaše data, vypočítávají percentil dat za tuto minutu.

pak, když se podíváte na svůj 95. percentil, ukazují vám průměr ze všech vašich percentilů. Tato zkratka pro „vaše dobro“, aby vaše služba byla rychlejší, je ve skutečnosti odstranění veškeré statistické významnosti z vašich dat.

proč musíte mít nezpracovaná Data pro správné měření latence:

ať už to víte nebo ne, pomocí monitorovacích nástrojů účastnících se vzorkování dat vytvářejí průměrná data. Téměř každý monitorovací nástroj vzorkuje svá data. Vezměme si například DataDog; mají velkou ztrátu dat. Pokud jim pošlete 3 miliony bodů za minutu, nebudou je všechny brát. Místo toho budou náhodně vzorkovat body a pak je agregovat do 1 bodu za minutu.

abyste pochopili latenci, musíte mít nezpracovaná data. Je přirozené, že se vzorkovanými daty nemáte přístup k plné distribuci! Vaše maximum není vaše skutečné maximum, ani váš globální percentil není přesným znázorněním toho, co se děje!

vzorkovaná Data zhoršují koordinované opomenutí!

při vzorkování dat vynecháváte data. Řekněme například, že máte 10.000 operací děje za minutu rozesílání 2 datové body každý do Vašeho monitorovacího systému. Řekněme, že máte v systému chybu a jeden z těchto datových bodů to ukazuje na 10 000 operací. Váš monitorovací systém má pouze 1/20 000 šanci vybrat si to jako datový bod, který vám ukáže jako maximum!

pokud běžíte dostatečně dlouho, datový bod se nakonec zobrazí, ale v důsledku toho bude vypadat jako sporadický okrajový případ, i když se to děje jednomu z vašich zákazníků každou minutu! Když nemáte vzorek dat a máte jeden z těchto hrotů, zobrazí se jasně ve vašem 99.99. percentilu a vaše maximum se zobrazí blízko, což vám signalizuje, že máte chybu ve vašem programu. Když si vzorek dat, nicméně, to nebude zobrazovat tak často, což znamená, že nebudete vidět jako chybu, ale spíše jako škytavka. To znamená, že váš technický tým si neuvědomí jeho význam!

nenechte svůj monitorovací nástroj oklamat, abyste si mysleli, že víte, co se děje s vaší latencí.

vyberte nástroj, který neposkytuje vzorkovaná data. Vyberte nástroj, který nebude průměrovat vaše globální percentily. Začněte bezplatnou dvoutýdenní zkušební verzi ještě dnes!

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.