0:00:15 | tak dobré ráno ještě jednou zkoumalo začneme chci těch deset |
---|
0:00:20 | i tak a otázečky zdeněk se to neumí česky |
---|
0:00:24 | doby se takže je i zelení byli |
---|
0:00:26 | dolů nejasnosti |
---|
0:00:30 | není super |
---|
0:00:32 | tak by vás to vítáme na open a to ještě jednou |
---|
0:00:37 | a |
---|
0:00:39 | já jsem ani večeřa tohle je můj kolega pavel macík spolu sme naprogramovali |
---|
0:00:45 | resty |
---|
0:00:46 | sme rádi že ste se tu |
---|
0:00:48 | na to se sešli takže zčerstva brzo po ránu ještě ke všemu po té včerejší |
---|
0:00:52 | párty |
---|
0:00:53 | a |
---|
0:00:55 | chcete vám říct něco o |
---|
0:00:58 | _e performer s testování no proč vůbec budeme |
---|
0:01:02 | mluvit o |
---|
0:01:03 | testování |
---|
0:01:05 | protože si myslíme že kvalita softwaru je důležitá věc |
---|
0:01:10 | předpokládám že se mnou budete souhlasit když si představíte že kliknete někde na nějak internetové |
---|
0:01:17 | stránce a pak čekáte |
---|
0:01:19 | nekonečný vteřiny li minuty na výsledek operace která měla být prostě hotová za milisekundu tak |
---|
0:01:26 | víte k čemu to vede na repre šéf flashne flash prostě a |
---|
0:01:29 | co se stalo proč |
---|
0:01:32 | ti vývojáři sekanou testovali tu aplikaci pořádně proč prostě neudělali svoji práci a neudělali to |
---|
0:01:38 | tak aby si já to mohu použít |
---|
0:01:41 | a |
---|
0:01:42 | a teď může být |
---|
0:01:43 | překlad je poměrně jednoduchá |
---|
0:01:46 | aha |
---|
0:01:48 | to je |
---|
0:01:49 | protože to prostě není jednoduchý nedá se |
---|
0:01:52 | odchytit všechny takovýhle chyby ve výkonu úplně snadno bere to čas |
---|
0:01:59 | a i když si myslíte že všechno vypadá skvěle tak to tak ve výsledku být |
---|
0:02:03 | nemusí a to vám |
---|
0:02:04 | dneska ještě ukážeme |
---|
0:02:07 | a tak |
---|
0:02:09 | jeden z aspektů další slajd prosím |
---|
0:02:11 | tohle je |
---|
0:02:12 | jak |
---|
0:02:13 | si dneska představujeme se rovina který běží ty naše aplikace |
---|
0:02:17 | jeden s těch trendů co dneska běží je |
---|
0:02:22 | ten |
---|
0:02:24 | tak |
---|
0:02:26 | jak je to český slovo proto pro přestup prostě k těm cloudu vím řešením všechno |
---|
0:02:31 | běží jako služba jakákoliv platforma jako služba všechno běží někde cloudu a |
---|
0:02:37 | to |
---|
0:02:37 | nepomáhá zrovna tomu aby se takových instalacích ty chyby ve výkonu hledali snadno |
---|
0:02:44 | a |
---|
0:02:45 | momentíček já se podívám aby jsem vás nahoru nepřipravil o něco se sme si nachystali |
---|
0:02:52 | ta na dostanu ono to má nějaký výhody taky že jo protože ono to může |
---|
0:02:57 | strašně zkrátit čas na nasazení té aplikace nemusíte se bavit s nikym |
---|
0:03:03 | site ivan stačí říci tak já chci tady takovéhle server s takovouhle tak jim ale |
---|
0:03:09 | parametrama můžete si to vaše aplikaci hnedka nasadit |
---|
0:03:12 | a můžete nasadit novou verzi té aplikace a snadno to mezi jsou přehodit takže ono |
---|
0:03:17 | to šetří výrazně čas na zejména na nasazení těch aplikaci že |
---|
0:03:24 | a |
---|
0:03:25 | dál prosím |
---|
0:03:28 | dneska taky všechno nebo |
---|
0:03:30 | velký trend sou mikro servisy |
---|
0:03:34 | spousta drobných služeb komunikujících mezi sebou |
---|
0:03:38 | a |
---|
0:03:39 | i takové firmy jako matrix přiznávají že nemají úplně přesnou představu o tom kudy všudy |
---|
0:03:46 | ty její data vtom systému s oni vytváří jako putují oni jako celkem hodně toho |
---|
0:03:51 | ví |
---|
0:03:52 | ale |
---|
0:03:54 | četl jsem ony nějakej článek je to popisovali že |
---|
0:03:57 | se to podstatě jenom že to není v lidských silách to nějak do detailů hlídat |
---|
0:04:02 | a stejně |
---|
0:04:03 | se musí testovat výkon |
---|
0:04:05 | takových instalací a takových služeb |
---|
0:04:09 | tak podíváme se na to |
---|
0:04:11 | kde nebo na jaké to testování výkon může být může být klasické nástroje krátké a |
---|
0:04:17 | jeden a naopak |
---|
0:04:19 | prvky může pomoct |
---|
0:04:22 | jí my sme eště neukázali tu stránku |
---|
0:04:26 | prvky je open source dá se stáhnout z graphic or k |
---|
0:04:30 | je |
---|
0:04:32 | mailem centra repozitory takže můžete použít jako závislost |
---|
0:04:36 | a všechno celá dneska budeme ukazovat tak je taky na githubu i včetně instrukcí |
---|
0:04:42 | takže si to později s můžete sami vyzkoušet může to zkoušet už teďka ale |
---|
0:04:47 | bude vám nejmíň stahovat docela hodně závislosti já nevím jestli to tu ta wifi nad |
---|
0:04:51 | a |
---|
0:04:53 | tak |
---|
0:04:54 | a |
---|
0:04:56 | teď si projdeme takový čtyři scénáře nebo cvičení ve kterých ukážeme co se může stát |
---|
0:05:04 | a |
---|
0:05:05 | jak tomu zabránit |
---|
0:05:07 | první z věcí je to že se vůbec podíváme na to jak se dá performer |
---|
0:05:11 | s testování zapojit do nějakých životního cyklu vaší aplikace je to budem ukazovat aplikaci které |
---|
0:05:17 | naprogramovaná java na server aplikaci |
---|
0:05:20 | která používá mailem já jsem se cattell kolegů kteří pracují s partnerem jestli je něco |
---|
0:05:26 | takovýho jakým nebo takle nějakým způsobem viselo zapracovat do |
---|
0:05:30 | životního cyklu paritního projektu |
---|
0:05:32 | a |
---|
0:05:33 | oni mi řekli že neexistuje nějakej takovej univerzální nás jako jak name javě který by |
---|
0:05:38 | se takhle používal ale je spousta nějakých u tedy jako tele problém řeší |
---|
0:05:43 | nic vám nebrání vtom abyste si ten graphic stáhli jako standalone aplikaci a z nějakýho |
---|
0:05:47 | toho build skriptu nebo co se prostě po už asi vím kolik práci měsíce |
---|
0:05:53 | prvky volali |
---|
0:05:54 | protože on testuje tu vaši službu jako black box a |
---|
0:05:58 | loni nebo předloni jsme to ukazovali že vpodstatě jedno v čem je ta služba naprogramovaná |
---|
0:06:03 | peasycam se to dá testovat tak jako tak |
---|
0:06:05 | a tak to má odbočka jak vypadá že služba |
---|
0:06:10 | máme jednoduchou webovou službu teď se dívejte na tu první metodu na to věc seriál |
---|
0:06:15 | number s |
---|
0:06:16 | prostě vpodstatě jak a hello služba |
---|
0:06:20 | jsme náhodně nepochopila nějak jako |
---|
0:06:23 | a tedy k ní máme trest |
---|
0:06:25 | a ten test |
---|
0:06:27 | je to integrační kdes to znamená že ta aplikace se na ty polena aplikační server |
---|
0:06:30 | a ten trest nějak jednoduše ověří že ta služba je tam skutečně manipulovaná že prací |
---|
0:06:36 | to co vracet na |
---|
0:06:37 | aby se podíváme |
---|
0:06:40 | jen do toho zapojit |
---|
0:06:41 | ten výkonnostní test tedy se stane součástí těch integrační testu takže když a napiš potom |
---|
0:06:47 | já příkazové řádce _m terezce pouštíme jiný tresty tak se mi ten performer ste spustí |
---|
0:06:52 | taky |
---|
0:06:54 | ten měl to máme plug in do mailu |
---|
0:06:57 | kdyby někdo náhodou chtěl na program takový platným pro nějaký svůj programovací jazyk python ruby |
---|
0:07:03 | nebo go lánská cokoliv budeme jenom rádi je to open source takže |
---|
0:07:09 | velmi vítám jakékoliv příspěvky |
---|
0:07:13 | tak |
---|
0:07:14 | je to zapojíme ten performance za to projektu uděláme si na to adresář testech když |
---|
0:07:19 | source is the specifikujeme |
---|
0:07:21 | scénář toho performance testu |
---|
0:07:24 | ten se nás je xmlko |
---|
0:07:26 | to není úplně pěkný víme o tom |
---|
0:07:29 | pracujeme na tom potom vám to ukážou jakou máme vizi jak vy byste jako vývojář |
---|
0:07:36 | měli ten performer jste s podle vaší představy teda |
---|
0:07:40 | vytvářet aby to nebyl takovej nějakej |
---|
0:07:44 | ukecaný forma nebo by tam nebyl nějaký bylas textu ale vpodstatě |
---|
0:07:47 | ten prvky má nějakou komponentou architekturu takže vy skládat já ty komponenty do sebe a |
---|
0:07:52 | každá mládež přesně definovaný své zodpovědnosti |
---|
0:07:55 | je tam generátor tedy říká jak se ty zprávy maji generovat jestli to tam a |
---|
0:08:00 | napájet všechno naráz a nebo tam posílat co ten server zvládne |
---|
0:08:04 | nebo používat nějakou konstantní rychlost zalži podle to co děláte za ty performer jste ste |
---|
0:08:09 | se to bude sou k té straně render ten duben ztrestá tak dál |
---|
0:08:14 | pak to neseme ten říkal že to bude posílat na toto po je na začátku |
---|
0:08:18 | ještě splňuje ten test poběží pět vteřin a bude posílat deseti do vláknech nebo deseti |
---|
0:08:24 | klientech |
---|
0:08:26 | tak a bude pude věc metodu a budeme deportovat počet iterací za vteřinu |
---|
0:08:32 | budeme to vypisovat na konzoli každou vteřinu a budeme to zapisovat i proces ve souboru |
---|
0:08:38 | co je ve soubor s názory proto by se dalo potom nějak snadno automaticky zpracovávat |
---|
0:08:43 | no a co nám zbývá dát ten |
---|
0:08:46 | není plug in do toho našeho pong se mnou a co že ten konfigurační soubory |
---|
0:08:52 | mailu |
---|
0:08:54 | vedle jsme definovali |
---|
0:08:57 | je tam používáme někde to de tak se snažila používat jako |
---|
0:09:01 | pro these to bylo vidět i stalo se nařeže tam je sice draka nějaká hodnota |
---|
0:09:06 | že deset vláken ale byla tam před tím nějak a pro ten by se to |
---|
0:09:09 | dalo potom parametrický nějak měnit |
---|
0:09:12 | tak |
---|
0:09:14 | kde ale ten platným tady ho máme |
---|
0:09:17 | říká že nějaká klasická není závislost |
---|
0:09:20 | a ten pes cena se menuje tadyhle jak a konfigurace lovu |
---|
0:09:24 | a pak je tam velkej kus |
---|
0:09:27 | tedy říká že by ten my vám to navázal na tu správnou |
---|
0:09:31 | fázi toho životního cyklu že když napíšeme v není ty budeš index nebo té s |
---|
0:09:37 | vlastně pouštím tehdejším test až za to spustí správný což si můžeme teďka ukázat |
---|
0:09:43 | máme nahoře nastartovaný aplikační server pod tím je ten projekt |
---|
0:09:48 | takže pak no _m trest a aplikace se nadiktovala pustil se ten původní trest a |
---|
0:09:53 | teďka běží ten výkonnostní test |
---|
0:09:56 | o samozřejmě byste ho asi pouštět delší dobu šlo by ty výsledky byly nějaký stabilnější |
---|
0:10:01 | a teď se můžeme stavět tu disky bývají ty výsledky toho budu podívat to je |
---|
0:10:05 | to c déčko |
---|
0:10:07 | s tím co se naměřilo |
---|
0:10:10 | tak |
---|
0:10:12 | to by bylo k integraci do projektu |
---|
0:10:15 | teď se podíváme |
---|
0:10:16 | na cvičení dva |
---|
0:10:19 | řekl jsem všechno |
---|
0:10:20 | jsme ještě něco tak |
---|
0:10:22 | na cvičení dva |
---|
0:10:25 | a |
---|
0:10:26 | ted ukážeme takovou věc to souvisí lůžkový s těma |
---|
0:10:30 | michael svůj na mikro služba |
---|
0:10:32 | a |
---|
0:10:33 | to je o tom že |
---|
0:10:35 | ne my sme našli žádnej opensource nástroj který by uměl fungovat takovým způsobem jako voltmetr |
---|
0:10:40 | že ho prostě vezmu a když mám nějakej řetězec mikro služeb je to tam takhle |
---|
0:10:43 | to přeložím a podívám se na to jak ten daný kousek těch mikro služeb jako |
---|
0:10:48 | funguje protože vy máte to že někam posíláte požadavky teďka dochází k nějakýmu zpracování celý |
---|
0:10:53 | se to |
---|
0:10:54 | větví ta informace někam a teče a |
---|
0:10:58 | by třást zodpovědně nouza kousek toho a chcete se podívat na tu vaši konkrétní část |
---|
0:11:02 | jako jakou jaký má výkon |
---|
0:11:04 | a |
---|
0:11:05 | normální by se si tomu se naplno nějakýmu k služby na začátek nakonec který by |
---|
0:11:09 | vám jako nervovali ten provoz tam nebo nevím jak by se to jako |
---|
0:11:15 | dělalo tenleten konkrétní požadavek přišel o to jedné firmy bys mi ten prvky byly ukazovat |
---|
0:11:21 | že přesně _m takovéhle scénář |
---|
0:11:23 | a zjistili jsme že to celkem jako běžný |
---|
0:11:26 | a prvky mi tu věc že ona mi schopny posílat ty požadavky na nějakej kanál |
---|
0:11:32 | endpoints prostě |
---|
0:11:34 | cokoliv se schopní přímo požadavky |
---|
0:11:37 | a |
---|
0:11:37 | potom někde poslouchat a případ odpovědi úplně odněkud odjinud my sme |
---|
0:11:43 | tady udělali takovou jednoduchou zase toto službu která |
---|
0:11:48 | přímá ty zprávy z nějakýho ty si ty portu |
---|
0:11:52 | a agreguje |
---|
0:11:54 | a po čtyřech je potom posílá ven |
---|
0:11:57 | je to proto abysme ukázali že ta zpráva tom konci ani nemusí být ta jedna |
---|
0:12:01 | původní zprávu stane musí být to jednak jedné mapování můžeme čekat na to že |
---|
0:12:06 | ta zpráva se rozdělí třeba na tři a budeme schopni čekat až skutečně při ovšem |
---|
0:12:11 | nic odpovědi nebo naopak se agreguje aby jsme schopni zachytit co je ten balíček a |
---|
0:12:16 | na to správně dohromady |
---|
0:12:18 | tohle není příkladu bude programování to klíčový slovo synchronized byste tam nikdy použít neměli |
---|
0:12:24 | ale |
---|
0:12:26 | pro jednoduchost |
---|
0:12:28 | dělá to prostě za to dělat na |
---|
0:12:31 | tak |
---|
0:12:32 | a ten scénář |
---|
0:12:34 | kromě toho co sme tam viděli před tím že tam nějaký generátor sem de tak |
---|
0:12:38 | to máme komponentu která se menuje receiver |
---|
0:12:41 | která říká že budeme poslouchat |
---|
0:12:44 | v deseti klientech zase |
---|
0:12:46 | na |
---|
0:12:47 | na neuryla použili jsme tam pro ty je můžete vidět jak jsem říkal děláme to |
---|
0:12:52 | rádi když u nás nějaká hodnota opakuje |
---|
0:12:54 | abysme dostali konfigurovat |
---|
0:12:57 | a máme ten dalš komponentu které kurátora tenkrát od říkaj my poznáme která odpověď patříte |
---|
0:13:03 | kterým požadavku to jenom to že se prostě přidá něco dodělat odpor hlaviček |
---|
0:13:08 | a |
---|
0:13:08 | ta služba tady bude to zjistila že se ste |
---|
0:13:11 | okopíroval |
---|
0:13:13 | ten původní požadavek tady jsme měli byl to že se to posilovna to teplo a |
---|
0:13:16 | pak to šlo do databáze a perfect má strašnou spoustu prostoru na ty různý kanály |
---|
0:13:22 | takže je možný ty opravdu používat já nevím |
---|
0:13:26 | hledat tu databázi |
---|
0:13:29 | java myslím standard a spoustu dalších |
---|
0:13:33 | tak |
---|
0:13:35 | teďka tady pro vás tu aplikaci |
---|
0:13:37 | a pustíme si ten trest |
---|
0:13:42 | no tady vidíme že jo neskutečně schopnej ten graphic poznat no změřit to jak je |
---|
0:13:46 | ty agregovaný zprávy si dá dohromady |
---|
0:13:49 | a |
---|
0:13:50 | změří na tom jak je výkon |
---|
0:13:54 | tak |
---|
0:13:57 | něco překonali dva technický problémy |
---|
0:13:59 | jednak |
---|
0:14:00 | jak zapojit o výkonnostní testování do vaší aplikace a drulák |
---|
0:14:04 | jak otestovat nějakej takovejhle po část nějakých mikro služeb |
---|
0:14:09 | a |
---|
0:14:10 | teď se podíváme na to |
---|
0:14:12 | jak snadno se dá přehlídnout právě nějaký ten konkrétní problém vtom výkonnostní testování |
---|
0:14:19 | my máme takovou malou ty lýtku která simuluje službu a té tebe službu která se |
---|
0:14:26 | nechová úplně korektně tam toho store konfigura konkrétně teďka dáme konfiguraci tom že to je |
---|
0:14:32 | v tom horním okně té horní půlce |
---|
0:14:34 | máme tam devadesát devět vláken který reaguji na ty požadavky |
---|
0:14:38 | takže ho zdrží jen milisekundu a pošlu odpověď a máme tam jedno vlákno |
---|
0:14:43 | kterýmu trvá to zpracování toho požadavků deset vteřin |
---|
0:14:48 | tak si uděláme jednoduchej výkonnostních dnes takové jak se dá udělat jakýmkoliv nástroje a testování |
---|
0:14:54 | výkonu a podíváme se jestli se to ukáže |
---|
0:14:57 | tak |
---|
0:14:58 | máme se nás |
---|
0:14:59 | ta se sem neposíláme na to budeme toho teďka měřit trošku víc bude měřit propustnost |
---|
0:15:05 | budeme měřit |
---|
0:15:07 | vy spousta jen responds tak budeme kreslit do grafu že čas na odpověď požadavek odpověď |
---|
0:15:14 | nevodporoval a bude po už aby si místo vláken sme tam měli je a |
---|
0:15:20 | ta |
---|
0:15:25 | pustíme toho na to |
---|
0:15:27 | jak vidíte ty použili jsme tam |
---|
0:15:30 | nebo reportuje _m dvě různý veličiny tak sme si to obarvil i abysme věděli |
---|
0:15:34 | co je co |
---|
0:15:36 | ve svém prvky snaží moja tak petriho se mi používám jeho používáme na testování nedietních |
---|
0:15:41 | mýdlové nových produktu |
---|
0:15:42 | naprogramovali jsme o proto začátku že jsme nenašli žádný nástroj který by dokázal poskytnout takovej |
---|
0:15:48 | výkon |
---|
0:15:49 | co moře nenechali jsme to proto že by jsme si chtěli znova vynalézt call ale |
---|
0:15:53 | protože jsme používali něco jinýho a |
---|
0:15:56 | problém byl vtom že rostl výsledcích byly víc jak deset procent nula |
---|
0:16:00 | my máme nastaveno takovou politiku že když je novější verze horší víc jako tři procenta |
---|
0:16:05 | tak to nesměli dat když máte rozbil deset procent plus mínus hore dole |
---|
0:16:10 | tím se nedá pracovat |
---|
0:16:12 | tak |
---|
0:16:13 | taková odbočka a tady vidím ega |
---|
0:16:15 | toho je běžel ten test ne na to kolik tam máme ten tak někde ke |
---|
0:16:19 | konci |
---|
0:16:21 | my tam máme |
---|
0:16:22 | zhruba kolem pěti milisekund ten čas odpovědi na začátku nese ta služba začala jo to |
---|
0:16:27 | dycky takle jak je formát nebo něco a pak se to stabilizovalo |
---|
0:16:32 | tak to pohodě ne |
---|
0:16:33 | mohli bysme to na vyplňovat přímo do produkce aplikace se chovaj na |
---|
0:16:38 | com |
---|
0:16:39 | ale jak to |
---|
0:16:40 | vy tam přece tam je to jedno vlákno |
---|
0:16:42 | který blokuje ty požadavky na deset vteřin tak jak to že to saka není vidět |
---|
0:16:47 | no zkusíme trochu rozšířit ten trest |
---|
0:16:50 | a |
---|
0:16:52 | do toho testu |
---|
0:16:53 | dané takovej druh reportérů který nám ji ukázat jak se jednotlivý ty vlákna nebo virtuální |
---|
0:16:59 | klienti nebo uživatele |
---|
0:17:01 | podíleli na |
---|
0:17:03 | tom posílání těch zpráv |
---|
0:17:04 | kolik jich kterej ten uživatel jako bys chtěl zpracovat nutnosti ho poslat |
---|
0:17:10 | na to máme takový |
---|
0:17:12 | domu říkáme klasifikačně portrét on vytváří takový třídy do který vlastně počítá |
---|
0:17:17 | ty odeslaný požadavky podle nějakýho atributu tady je jde toho vlákna který na tom pracuje |
---|
0:17:24 | tak |
---|
0:17:26 | a zkusíme to pustit |
---|
0:17:28 | eště si vymažeme ten ty reporty |
---|
0:17:34 | aby jste neřekl že fixujeme |
---|
0:17:37 | tak rychlost a ne pořád stejnou přibližně |
---|
0:17:42 | a na konci uvidíme |
---|
0:17:43 | jeden výstup navíc ten výstup to posledního reportél to je to je ošklivý se vtom |
---|
0:17:48 | takhle vás to nic nevíme tak máme zase ten graf tohle ten původního lehce se |
---|
0:17:54 | to změnilo že je to jiný spuštění ale průběh posledně stejnej |
---|
0:17:57 | a tady je to kolik který to vlákno poslalo zprá vidíme že většina z nich |
---|
0:18:02 | je tak plus mínus nízkých ale máme tam takovej super |
---|
0:18:07 | takže jedno vlákno |
---|
0:18:08 | se vůbec na tom testu nepodílel |
---|
0:18:11 | proto samozřejmě nemáme ten ty výsledky vtom graf už of tom původním vtom je spousta |
---|
0:18:16 | protože |
---|
0:18:17 | jedno vlákno neposílal požadavky |
---|
0:18:20 | a |
---|
0:18:21 | tudíž sme z něho nic ne naměřili |
---|
0:18:23 | respektive to vlákno poslalo požadavek a nikdy se nedočkal odpovědi |
---|
0:18:28 | tomhle problému se říká koordinuje ty tvého mission problém to znamená |
---|
0:18:34 | koordinované vynechávání výsledku |
---|
0:18:37 | ten problém se dá |
---|
0:18:39 | řešit například tak |
---|
0:18:41 | že vy budete simulovat to že ten uživatel by se nedočká |
---|
0:18:45 | odpovědi tak bude mačkat ten to projede flash tlačítko |
---|
0:18:49 | to znamená že vy byste se podívali na ostatní vlákna jak rychle zhruba dostavit odpovědi |
---|
0:18:54 | a vtom stejným tempu dokud neros když nedostane to poli tak nasadíte další vlákno |
---|
0:18:59 | a další a další a další problém je vtom ten že jedna obviňujete výkon těch |
---|
0:19:04 | ostatních už běžících vláken a druhá že brzo vyčerpáte systémový zdroje protože tady bysme kdyby |
---|
0:19:11 | jsme každý pět milisekund do toho přidali vlákno tak to ten stroj nedá |
---|
0:19:16 | a další varianta je vyřešit to matematicky říci teda dobře tak já bysem takovýmhle tempem |
---|
0:19:23 | jo zhruba dostávat takovýhle odpovědi |
---|
0:19:25 | a to můžeme s prvky udělat a šest přidáme další typ reportérů který se jmenuje |
---|
0:19:30 | vy spousta je histogram reportér |
---|
0:19:32 | a nám počítá |
---|
0:19:34 | takzvaný hádej histogram té komponenta kterou naprogramoval jill týmu s ozvu systému s který právě |
---|
0:19:41 | řešil přesně to na ten problém takže my sme tu komponentu jenom integrovali do prvky |
---|
0:19:46 | ku |
---|
0:19:47 | a udělali jsme to my jsme schopni vytvořit ten graphic takže se podíváme |
---|
0:19:51 | pustíme nende znova |
---|
0:19:55 | tak tady mám spočítaný ty vlákna a podíváme se vypadá ten graf |
---|
0:19:59 | od začátku nahoru ještě prosím |
---|
0:20:03 | víme že ten průběh to je spousta _e vypadá pořád stejně |
---|
0:20:07 | vy to vidíme že v těch vláknech je pořád ten zvuk že tam |
---|
0:20:10 | je tam to jedno chybí že ten jeden klient se nepodíval a podíváme se na |
---|
0:20:15 | ten hádej histogram toho tady spousta je |
---|
0:20:18 | a tady vidíme že |
---|
0:20:19 | zhruba tak do půlky nebo |
---|
0:20:22 | to sou to sou percentily to znamená že devadesát sedum celých šest procent hodnot |
---|
0:20:27 | bylo port pětasedmdesát milisekund prostě dvouciferné číslo |
---|
0:20:31 | a najednou |
---|
0:20:33 | když tam je devadesát osum celých štyři ten percentil |
---|
0:20:37 | tak už to jsou čtyři místní čísla |
---|
0:20:39 | a de to tak špatně že u devadesát devět celých osum je ty devět vteřin |
---|
0:20:46 | co víš ale |
---|
0:20:48 | říkám je to je to matematická korekce toho co se naměřilo |
---|
0:20:51 | to znamená že |
---|
0:20:53 | to není to že to takhle přesně |
---|
0:20:55 | ale ukazuje to na to že jste |
---|
0:20:57 | měřené aplikaci zřejmě je nějaký problém |
---|
0:21:00 | aha |
---|
0:21:01 | teď je otázka jestli si můžete dovolit to je nula celá dva procent vašich klientů |
---|
0:21:05 | vlastně do toho šel tý vaší aplikaci vůbec nedostanou žádnou odpověď |
---|
0:21:10 | a tak |
---|
0:21:10 | když budete mít tisíc uživatelů tak jste naštvali dvacet lidí |
---|
0:21:15 | a když to budeš a ta kus od vás nic nekoupí |
---|
0:21:19 | takže to co na začátku se při běžném testování zdálo že vlastně všecko vpohodě že |
---|
0:21:23 | to aplikaci můžeme nasadit tak se ukázalo že to tak není |
---|
0:21:27 | tak |
---|
0:21:29 | a |
---|
0:21:30 | teď se podívám ještě na jeden zajímavý problém |
---|
0:21:33 | který může nastat |
---|
0:21:35 | a to je to |
---|
0:21:38 | použijeme znova tu naši devítku |
---|
0:21:40 | ale tentokrát budeme mít službu která |
---|
0:21:44 | je schopna odpovídat |
---|
0:21:46 | zhruba za pět milisekund |
---|
0:21:48 | ale jenom rychlosti nějakých |
---|
0:21:50 | pět set požadavku za vteřinu řekněme že to někdo program o tom i pro službu |
---|
0:21:53 | a naprogramovali chytře |
---|
0:21:56 | a naprogramovali takže on avií jako vy jakou zátěž může zvládnout a když je to |
---|
0:22:02 | větší zátěž tak prostě na férovku řekne |
---|
0:22:04 | ale to nedám prostě zkus to později |
---|
0:22:07 | to je |
---|
0:22:08 | těch mikro služba že neska typicky to na to je ten projekt řád history k |
---|
0:22:12 | slovník fixu kterej řeší ten svět dejte pattern že vy máte těch služeb tebe nevyplňovaných |
---|
0:22:18 | hodně jako zjistí že ne přetížena podána další |
---|
0:22:21 | případně cachuje ty hodnoty a tak |
---|
0:22:24 | a |
---|
0:22:26 | ta naše služba |
---|
0:22:28 | buďto nedej to zpracování trvá zhruba plus mínus pět milisekund a máme to tak nastavený |
---|
0:22:34 | a nevolal okamžitě řekne |
---|
0:22:36 | ale zkus to pozic tak my se podíváme bysme takovou službu změřili máme tam scénář |
---|
0:22:42 | eště prosím zase na řekneš |
---|
0:22:45 | kde používáme konstant spíš myslíš generátor teger kterýmu řekneme jakou rychlostí ty požadavky tam a |
---|
0:22:50 | posílat tak nastavuje sme tam že pět set požadavku za vteřinu |
---|
0:22:54 | tak se podíváme co nám to naměřila |
---|
0:22:58 | a path musím admin těch požadavku tak to běží trošku dýl |
---|
0:23:02 | a vidíme tam že jsme se dostali k průměrnému dyž spousta jen kolem těch pěti |
---|
0:23:07 | milisekund pět celých čtyřicet šest minut |
---|
0:23:10 | tak |
---|
0:23:12 | vida musí super tak zkusme si dala že služba na holi zvládne víc |
---|
0:23:16 | tak tam dáme tisíc |
---|
0:23:18 | no za předpokladu testem _e tak on black box něco ve službě nevíme jenom testujeme |
---|
0:23:22 | jako by její com |
---|
0:23:25 | no a koukáme že to je tisíc požadavku že na to trošku pomalu že to |
---|
0:23:29 | méno máme |
---|
0:23:30 | věci dvacet šest _e trošku mě sme měli tak zkusme to pořádně osolit deme tam |
---|
0:23:35 | deset tisíc požadavku za vteřinu co se stane |
---|
0:23:39 | _e panečku to je fofr |
---|
0:23:41 | no osumdesátej no tak to je super tak to ne |
---|
0:23:43 | u pro nějakou službu jako musel sněhu podcenili a posily znají málo těch požadavků |
---|
0:23:49 | no |
---|
0:23:50 | na metr jako takovej které je krámek víkend a black |
---|
0:23:55 | tak jsem to je schopný ověřit návratovou hodnot ten za to pres polsko je tam |
---|
0:24:00 | přidáme ještě není parametr protože |
---|
0:24:02 | telete neříkám giga na klídek ten test hodí vpodstatě nebo začne to chrlit hromadu víme |
---|
0:24:07 | a dáme tam parametry který zařídí že to hnedka spadne |
---|
0:24:11 | a vidíte že ten server |
---|
0:24:13 | vrátil štyrista štve a my sme čekali že bude dvoustovka |
---|
0:24:17 | no |
---|
0:24:18 | tak si přidáme pořádnou validaci těch pet to toho výsledku |
---|
0:24:23 | ale další ten tak další kritická věci tomletom je ta že sice ta vaše aplikace |
---|
0:24:28 | může odpovídat |
---|
0:24:29 | zpátky rychle open době |
---|
0:24:33 | tak přidáme tady komponentu která se mi nezdá to je to nějaký ruby skript který |
---|
0:24:39 | ověří že ste |
---|
0:24:41 | správě to co tam má být |
---|
0:24:43 | a ten validátor svážeme s tou zprávou abysme věděli |
---|
0:24:46 | odpovědi na trhu správná |
---|
0:24:48 | pavel verifikovat máme tady deset tisíc |
---|
0:24:55 | takže to nám tam sype |
---|
0:24:57 | čas odpovědi má plus mínus _e předtím |
---|
0:25:00 | a na konci ale výsledek ste validace |
---|
0:25:02 | a vidíme že s těch deseti tisíc prácu sme tam poslali |
---|
0:25:06 | je |
---|
0:25:07 | třináct set pořádku a dalších osum tisíc šest set |
---|
0:25:12 | osumdesát tři |
---|
0:25:13 | jich je špatně |
---|
0:25:15 | takže sice ta služba povidala rychle dvě |
---|
0:25:19 | tak zkusme jistou rychlosti zase trošku dolů |
---|
0:25:23 | zkusme tam dat těch tisíc abysme teda zjistili |
---|
0:25:26 | kde opravdu měříme to co měřit chceme |
---|
0:25:31 | tím se dostáváme zpátky a se k těm pěti milisekund dám to takto času na |
---|
0:25:35 | odpověď |
---|
0:25:39 | ta |
---|
0:25:41 | a ta duše těch chyb jenom čtrnáct |
---|
0:25:44 | zase otázka je kdy se spokojte s tím že těch chyb je málo a že |
---|
0:25:50 | tom null ovlivňuje ten trest no tak je to čtrnáct zpráv z desetitisíce tak dále |
---|
0:25:56 | zkusme tom na těch pět set co to služba má zvládnout |
---|
0:26:00 | jestli se teďka poprvé stane |
---|
0:26:04 | že tam bude effect |
---|
0:26:12 | nemáme to nahraný takže |
---|
0:26:15 | zkoušeli jsme to hodněkrát |
---|
0:26:19 | by se měli tu odvahu s tím tady jít |
---|
0:26:23 | a je to dobrý všech těch deset tisíc |
---|
0:26:26 | prošlo |
---|
0:26:27 | takže teďka můžeme říc že ta hodnota kterou jsme naměřili je opravdu ta |
---|
0:26:31 | kterou jsme chtěli vidět |
---|
0:26:33 | tak |
---|
0:26:34 | to by bylo s těch cvičení všechno ještě snad i ukázat |
---|
0:26:40 | té prezentaci něco další prosím |
---|
0:26:43 | tak je to vidět pořádně no takový tohleto je taky vyzvání návrh to jak si |
---|
0:26:47 | představujeme že by se měl ten performer se z vytvářet byste za to podívali pohledem |
---|
0:26:52 | jako nějaké |
---|
0:26:53 | palubní desky a vy ste oskara tedy komponenty protože ta flexibilita toho prospěch je velká |
---|
0:26:59 | tak abyste mohli tam ty komponenty tak nějak jako navázat a |
---|
0:27:02 | ten průběh potom jakoby přes tu polku jako by vám tam rozklad prostě nějaká ta |
---|
0:27:08 | ručička kdy šlapete na plyn s tím že když ten předchozí prosím po pravé straně |
---|
0:27:13 | by měly být všechny užitečné informace o tom by jste věděli co ta komponenta umí |
---|
0:27:17 | jakým a vlastnosti to nakonfigurovat |
---|
0:27:19 | nám ne |
---|
0:27:21 | teďka na diplomanta který nám |
---|
0:27:23 | na tom pracuje tak doufám že bude |
---|
0:27:25 | do jarního releasů vždycky vydáme nervní a podzimní rovnodennost |
---|
0:27:29 | mít |
---|
0:27:30 | push tebe nějaký pěkný platí |
---|
0:27:33 | tak a ten ta idea je taková že ten platím bude potom schopný ten test |
---|
0:27:36 | kdy pustit a hlavně ladit |
---|
0:27:39 | abyste viděli |
---|
0:27:41 | kolik zpráv prošlo kterou to komponentou a v jakým stavu ten test je to pokud |
---|
0:27:47 | vím taky žádný nástroj nemá že by vám ukázal jako |
---|
0:27:50 | kde přesně neboj nebo že bych že by umožnil jako ten pes takový divadlo |
---|
0:27:55 | plus ta jde že tam i na ta matka když ve ten test rastrová než |
---|
0:27:57 | vám ukáže odkud kam se ty požadavky jako generují tak |
---|
0:28:01 | další věc touž existuje dneska teprv _e po |
---|
0:28:05 | a |
---|
0:28:06 | to je na to že bys to prvky to schopný tam přímo posílat |
---|
0:28:09 | ty výsledky nemusíte se |
---|
0:28:12 | handrkovat z nějakýma soubor a má nebo dávat dohromady nějaký reporty |
---|
0:28:16 | a vtom pert webu se schopní porovnat dva výsledky různí běhu to znamená běhů různé |
---|
0:28:23 | verze té vaší aplikace nebo |
---|
0:28:26 | nebo na různým prostředí s různou konfigurací abyste mohli co nejjednodušeji vlastně vytvořit nějaký reportér |
---|
0:28:32 | říct tak takhle to vypadá celá ta naše výdaje ta že směřujeme tím |
---|
0:28:37 | směrem cokoliv jako služba |
---|
0:28:39 | takže by to ve výsledku potom někde byl of cloudu vy si tam celej ten |
---|
0:28:42 | test naklikáte spustíte a budete protože ty výsledky to pedofil po tečka |
---|
0:28:47 | prodělala |
---|
0:28:48 | velké změny grafického rozhraní aby to bylo snadněji použitelná by na me kliků jste dosáhli |
---|
0:28:55 | těch požadovaných výsledků |
---|
0:28:57 | tak |
---|
0:28:59 | a |
---|
0:29:00 | co za to jak jsem říkal je to open source |
---|
0:29:04 | a |
---|
0:29:05 | máme tady pro vás unikátní nabídku |
---|
0:29:08 | když nám slíbíte |
---|
0:29:10 | že příštích |
---|
0:29:12 | šesti měsících |
---|
0:29:13 | zkusíte ten prvky použít |
---|
0:29:16 | tak se nám to je nachystaný koláčky |
---|
0:29:19 | jakej ty moje manželka celý večer těžce pekla |
---|
0:29:23 | jo takže |
---|
0:29:26 | zkuste to |
---|
0:29:27 | nabídněte si a mezitím |
---|
0:29:30 | můžem otvírat na nějaký otázky |
---|
0:29:34 | tak co by vás víš tak zajímalo |
---|
0:30:04 | rozum věděl |
---|
0:30:06 | zopakuju to otázku proto bys to nahrál a otázka zní jestli jsme uvažovali o nějakém |
---|
0:30:12 | syntetické monitory může by ten prvky byl někde nasazený a |
---|
0:30:16 | sledoval nějakou už běžící aplikaci a potom byl schopný spouštět nějaký asi odborníky nebo nějaký |
---|
0:30:23 | varování nebo upozornila na to že ta aplikace nechová jak má |
---|
0:30:27 | víme o tom že |
---|
0:30:29 | tak ho vlastně existuje |
---|
0:30:31 | zatím jsme se na to ne zaměřovali protože |
---|
0:30:36 | nechci tě jsme tu potřebu nikdo nepřišel s takovým požadavkem a měli sme |
---|
0:30:41 | ten dojem že nástrojů na takovýhle typ monitoringu |
---|
0:30:45 | existuje poměrně dost |
---|
0:30:47 | nicméně |
---|
0:30:49 | nemyslím si že by vám dneska už něco bránilo ten graphic nastavit také někde ho |
---|
0:30:53 | spustit jako službu která by prostě pingl a tu to co sledujete nebo by tam |
---|
0:30:57 | posílal nějaký požadavky nebo něco |
---|
0:31:01 | otázka toho kam se to potom pošle jenom to že by se naprogramoval a komponenta |
---|
0:31:05 | typu destination která by vás potom no ty fixovala o těch problémech |
---|
0:31:10 | ten |
---|
0:31:11 | prech pěkně udělaný tak aby každá ta komponenta měla jasně definovaný rozhraní |
---|
0:31:15 | a |
---|
0:31:16 | co nejmenší a nejjednodušší aby kdokoliv byl schopný přijít |
---|
0:31:20 | a na práci pro svůj konkrétní aplikaci |
---|
0:31:24 | ten tu danou komponentu kterou potřebuji protože jste někdo to je dopouští performer ste stě |
---|
0:31:29 | to vývojáři takže vy vás umí programovat |
---|
0:31:31 | takže místo toho by ten nás tady byl prostě jsou pro tu prahu měl já |
---|
0:31:35 | nevím jaký vopičky a postavit se na hlavu tak předpokládám že ten vývojáře schopnej přijít |
---|
0:31:41 | a |
---|
0:31:41 | jako takovouhle komponentu trhu potřebuje specificky pro jeho konkrétní aplikacím si do programovat nebo postavit |
---|
0:31:47 | na základě toho co už tam |
---|
0:31:49 | existuje takže takhle |
---|
0:31:52 | kdybyste měl potom nějaký náměty na to jak konkrétně by to mělo fungovat nebo nějaký |
---|
0:31:58 | jiný s case tak to určitě uvítám máme tady jíme je i na stránkách máme |
---|
0:32:03 | je kontaktní formulář |
---|
0:32:05 | jak _e |
---|
0:32:08 | ještě někam |
---|
0:32:22 | tak v některých jazycích kde udělat validátor té odpovědi vy tam používáme žaloby standard ten |
---|
0:32:28 | na javascriptem že nesouvisí to s javascriptem pro nás mezi cam ale |
---|
0:32:33 | cokoliv co má návaznost na tenhle ten standard to znamená že aktuální chvíli jesi si |
---|
0:32:39 | dobře vzpomenu na všechny tak to je to java script je to budu v je |
---|
0:32:43 | to skála |
---|
0:32:44 | je to java ji tam j ruby |
---|
0:32:48 | volán k tam určitě půjde |
---|
0:32:51 | a nevím jestli ještě něco dalšího |
---|
0:32:54 | ale tady by se rakovině zájem o jaké práci je zima tu validaci tech |
---|
0:33:05 | céčkový knihovny |
---|
0:33:08 | dal by se napsat validátor který čili pomocí je nevím bude volat tu céčkovou knihovnu |
---|
0:33:13 | a předají ty hodnoty to je není je dost rychlý vyšlo zhruba přitom udělaný nějaký |
---|
0:33:18 | performer cestování nedávno takže toho bych se nebál |
---|
0:33:22 | a koneckonců core javě sám naprogramovány pomocí toho rozhraní že takže |
---|
0:33:28 | tady ho se tam velká |
---|
0:33:30 | takže to by určitě šlo ale musel byste si naprogramovat ten validátor takže ale to |
---|
0:33:36 | validace zase té rozhraní co má jednu metodu která říká tebe byl požadavek takle vypadá |
---|
0:33:40 | odpověď je to validní správa nebo není |
---|
0:33:43 | a |
---|
0:33:44 | to předat do té céčkové knihovny a |
---|
0:33:46 | hrát ten výsledek |
---|
0:33:48 | to by neměl být problém |
---|
0:33:55 | nějaké zvídavé otázky |
---|
0:33:57 | knize těšíte na to |
---|
0:34:00 | pak se pytel to pustit jako _e |
---|