{"id":84876,"date":"2020-06-11T13:43:18","date_gmt":"2020-06-11T11:43:18","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/uskoryaem-internet-zaprosy-i-spim-spokojno"},"modified":"2020-06-11T13:43:18","modified_gmt":"2020-06-11T11:43:18","slug":"uskoryaem-internet-zaprosy-i-spim-spokojno","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/uskoryaem-internet-zaprosy-i-spim-spokojno","title":{"rendered":"Kiirendame internetip\u00e4ringuid ja magame rahulikult","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/07e2e32d406b8b5d6d6cb3f627a31c3a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNetflix on internetiteleviooni turgude liider, mis on loonud ja aktiivselt arendanud seda segmenti. Netflix on tuntud mitte ainult ulatusliku filmide ja sarjade katalogi poolest, mis on saadaval peaaegu igas maailma nurkas ja igas ekraaniga seadmes, vaid ka usaldusv\u00e4\u00e4rse infrastruktuuri ja ainulaadse insenerikultuuri poolest. <\/p>\n<p>Selge n\u00e4ide Netflixi l\u00e4henemisest keerukate s\u00fcsteemide arendamisele ja toetamisele esitas DevOops 2019 <noindex><a rel=\"nofollow\" href=\"https:\/\/sfedov.com\">Sergei Fedorov<\/a><\/noindex> \u2014 arenduse direktor Netflixis. Lobachevski NN \u00dclikooli VVK l\u00f5petanud Sergei on \u00fcks esimesi insenere Open Connectis \u2014 Netflixi CDN meeskonnas. Ta on kujundanud videodaatade j\u00e4lgimise ja anal\u00fc\u00fcsi s\u00fcsteeme, k\u00e4ivitanud populaarse tasuta Interneti-kiirusetesti FAST.com ning t\u00f6\u00f6tanud viimased paar aastat Interneti-p\u00e4ringute optimeerimise nimel, et Netflixi rakendus t\u00f6\u00f6taks kasutajatele v\u00f5imalikult kiiresti.<\/p>\n<p>Ettekande puhul sai parimaid kommentaare konverentsi osalistelt ja oleme koostanud selle tekstiversiooni.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<center><div class=\"youtube-placeholder\" data-id=\"n7Te9WIz1ho\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/n7Te9WIz1ho\/hqdefault.jpg\" alt=\"Vaata videot\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<h2>Ettekandes r\u00e4\u00e4kis Sergei \u00fcksikasjalikult<\/h2>\n<p><\/p>\n<ul>\n<li>kuidas m\u00f5jutab viivitust interneti p\u00e4ringute vahel kliendi ja serveri vahel;<\/li>\n<li>kuidas seda viivitust v\u00e4hendada;<\/li>\n<li>kuidas projekteerida, toetada ja j\u00e4lgida viga-tolerante s\u00fcsteeme;<\/li>\n<li>kuidas saavutada tulemusi l\u00fchikese aja jooksul, minimaalsete riskidega ettev\u00f5tlusele;<\/li>\n<li>kuidas anal\u00fc\u00fcsida tulemusi ja \u00f5piksite vigadest.<\/li>\n<\/ul>\n<p>\nNeed k\u00fcsimused on olulised mitte ainult neile, kes t\u00f6\u00f6tavad suurtes korporatsioonides. <\/p>\n<p>Need p\u00f5him\u00f5tted ja tehnikad peaksid olema tuttavad ja rakendatavad iga\u00fchele, kes arendab ja toetab veebitooteid.<\/p>\n<p><b>Edasi \u2014 jutustus esinejalt.<\/b><\/p>\n<h2>Interneti kiirus<\/h2>\n<p>\nInterneti p\u00e4ringute kiirus on otseselt seotud \u00e4ritegevusega. Vaatame ostuajalugu: ettev\u00f5te Amazon 2009. aastal <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gigaspaces.com\/blog\/amazon-found-every-100ms-of-latency-cost-them-1-in-sales\/\">\u00fctles<\/a><\/noindex>, et 100 ms viivitus p\u00f5hjustab 1% m\u00fc\u00fcgist kadumise.<\/p>\n<p>Mobiilseadmete arv pidevalt kasvab, tuues endaga kaasa ka mobiilsaid ja rakendusi. Kui teie leht laetakse \u00fcle kolme sekundi, kaotate umbes poole kasutajatest. Alates <noindex><a rel=\"nofollow\" href=\"https:\/\/webmasters.googleblog.com\/2018\/01\/using-page-speed-in-mobile-search.html\">juulist 2018<\/a><\/noindex> arvestab Google teie lehe laadimiskiirus on otsingutulemustes: mida kiiremini leht, seda k\u00f5rgem on selle positsioon Google'is.<\/p>\n<p>\u00dchenduse kiirus on samuti oluline finantsasutustes, kus viivitus on kriitiline. 2015. aastal l\u00f5petas ettev\u00f5te Hibernia Networks <noindex><a rel=\"nofollow\" href=\"https:\/\/www.submarinenetworks.com\/en\/systems\/trans-atlantic\/project-express\/hibernia-express-connects-new-york-to-london-in-under-58-95ms\">l\u00f5petanud<\/a><\/noindex> kaabli paigaldamine New Yorgi ja Londoni vahel maksab 400 miljonit dollarit, et v\u00e4hendada viivitust linnade vahel 6 ms v\u00f5rra. Kujutage ette, et 66 miljonit dollarit iga 1 ms viivituse v\u00e4hendamiseks!<\/p>\n<p>Vastavalt <noindex><a rel=\"nofollow\" href=\"https:\/\/hpbn.co\/primer-on-web-performance\/\">uuringule<\/a><\/noindex>, \u00fchenduse kiirus \u00fcle 5 Mbit\/s ei m\u00f5juta enam otseselt t\u00fc\u00fcpilise veebisaidi laadimiskiirust. Siiski on viivituse ja lehe laadimiskiirusel lineaarne seos:<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/340ca1f2c5bdd6ca95a5caf02f67e3fd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKuid Netflix ei ole t\u00fc\u00fcpiline toode. Viivituse ja kiirus kui kasutaja kogemuse tegurid on aktiivne anal\u00fc\u00fcsi ja arenduse valdkond. On rakenduse laadimine ja sisu valik, mis s\u00f5ltuvad viivitusest, kuid staatiliste elementide laadimine ja voogedastus s\u00f5ltuvad samuti \u00fchenduse kiirusest. Kvaliteedi tagamise v\u00f5tmetegurite anal\u00fc\u00fcs ja optimeerimine on mitme Netflixi tiimi aktiivne arendusteema. \u00dcks eesm\u00e4rkidest on v\u00e4hendada p\u00e4ringute viivitust Netflixi seadmete ja pilveinfrastruktuuri vahel.<\/p>\n<p>Aruandes keskendume viivituse (latency) v\u00e4hendamisele Netflixi infrastruktuuri n\u00e4itel. Vaatame praktilisest vaatenurgast, kuidas l\u00e4heneda keerukate jaotatud s\u00fcsteemide projekteerimisele, arendamisele ja haldamisele, kulutades aega innovatsioonile ja tulemustele, mitte operatiivsete probleemide ja rikete diagnoosimisele.<\/p>\n<h2>Netflixis<\/h2>\n<p>\nTuhanded erinevad seadmed toetavad Netflixi rakendusi. Nende arendamisega tegeleb neli erinevat meeskonda, kes loovad eraldi klientide versioone Androidi, iOS-i, TV ja veebibrauserite jaoks. Me investeerime palju ressursse kasutajaliidese t\u00e4iustamisse ja isikup\u00e4rastamisse. Selleks k\u00e4ivitame samal ajal sadu A\/B teste.<\/p>\n<p>Isikup\u00e4rastamine toetub sadadele mikroteenustele AWS-is, mis pakuvad kasutajale kohandatud andmeid, p\u00e4ringute haldamist, telemeetria, Big Data ja kodeerimise funktsioone. Trafiku visualiseerimine n\u00e4eb v\u00e4lja selline:<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/n7Te9WIz1ho?t=364\">Ling video demonstreerimiseks (6:04-6:23)<\/a><\/noindex><\/p>\n<p>Vasakul on entry point ja seej\u00e4rel jaotatakse liiklus mitmete sajade mikroteenuste vahel, mida toetavad erinevad backend meeskonnad.<\/p>\n<p>Veel olulisem komponent meie infrastruktuuris on Open Connect CDN, mis edastab l\u00f5ppkasutajale staatilist sisu \u2013 videoid, pilte, kliendikoodi jne. CDN paikneb kohandatud serverites (OCA \u2013 Open Connect Appliance). Seal on SSD ja HDD ketaste rippmasiivid, mis t\u00f6\u00f6tavad optimeeritud FreeBSD, NGINX'i ja teenuste komplekti all. Kujundame ja optimeerime riist- ja tarkvarakomponente nii, et see CDN server suudaks edastada v\u00f5imalikult palju andmeid kasutajatele. <\/p>\n<p>Internetipunkti vahetus (Internet eXchange \u2013 IX) serverite 'seina' v\u00e4limus on j\u00e4rgmine:<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/8155601c344acb1eb05b925193af8f9a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nInternet Exchange pakub internetiteenuse pakkujate ja sisu tootjate v\u00f5imalust '\u00fchenduda' \u00fcksteisega, et vahetada andmeid internetis otse. \u00dcle kogu maailma on umbes 70-80 Internet Exchange punkti, kus asuvad meie serverid, ja me tegeleme nende paigaldamise ja hooldamisega ise:<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/77a2465314e47c0b2c90dbf7a2fb5e6b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLisaks pakume otse internetiteenuse pakkujatele ka servereid, mida nad paigaldavad oma v\u00f5rku, parandades Netflixi liikluse lokaliseerimist ja kasutajate voogesituse kvaliteeti:<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/63e077d2649bfafea5c7af43a0faaf85.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAWS teenused, mis vastutavad video p\u00e4ringute suunamise eest klientidelt CDN serveritele ning serverite konfiguratsiooni, sealhulgas sisu, tarkvara ja seadistuste v\u00e4rskendamise eest. Viimase jaoks oleme ka ehitanud backbone-v\u00f5rgu, mis \u00fchendab servereid Internet Exchange punktides AWS-iga. Backbone-v\u00f5rk on globaalne kiudoptiliste kaablite ja ruuterite v\u00f5rk, mida saame projekteerida ja konfigureerida vastavalt oma vajadustele.<\/p>\n<p>Kohal <noindex><a rel=\"nofollow\" href=\"https:\/\/www.sandvine.com\/hubfs\/Sandvine_Redesign_2019\/Downloads\/Internet%20Phenomena\/Internet%20Phenomena%20Report%20Q32019%2020190910.pdf\">Sandvine\u2019i hinnangud<\/a><\/noindex>, meie CDN infrastruktuur edastab tipptundidel umbes \u215b osa maailma internetitrafikust ja \u2153 trafikut P\u00f5hja-Ameerikas, kus Netflix on pikimalt tegutsenud. Imelised numbrid, kuid minu jaoks on \u00fcks k\u00f5ige t\u00e4helepanuv\u00e4\u00e4rsemaid saavutusi see, et kogu CDN s\u00fcsteemi arendab ja toetab v\u00e4hem kui 150 inimesest koosnev meeskond.<\/p>\n<p>Algusj\u00e4rgus oli CDN infrastruktuur kavandatud videoteabe edastamiseks. Aja jooksul m\u00f5istsime aga, et saame seda kasutada ka d\u00fcnaamiliste p\u00e4ringute optimeerimiseks AWS pilves.<\/p>\n<h2>Internetiga \u00fchenduse kiirus<\/h2>\n<p>\nT\u00e4na on Netflixil 3 AWS piirkonda ning pilveteenuste p\u00e4ringute viivitused s\u00f5ltuvad sellest, kui kaugel klient asub l\u00e4himast piirkonnast. Meil on ka palju CDN servereid, mida kasutatakse staatilise sisu edastamiseks. Kas saaksime seda infrastruktuuri kasutada, et kiirendada d\u00fcnaamilisi p\u00e4ringuid? Kahjuks ei saa neid p\u00e4ringuid vahem\u00e4lu salvestada \u2014 API-d on personaliseeritud ja iga tulemuse eelis\u00f5igus on ainulaadne.<\/p>\n<p>Teeme CDN-serveris proxy ja hakkame liiklust selle kaudu suunama. Kas see oleks kiirem?<\/p>\n<h2>Materjal<\/h2>\n<p>\nK\u00e4idame meeles, kuidas v\u00f5rgu protokollid t\u00f6\u00f6tavad. T\u00e4na kasutab suur enamus Interneti liiklust HTTPS, mis s\u00f5ltub madalama taseme protokollidest TCP ja TLS. Et klient serveriga \u00fchendust saada, peab ta tegema k\u00e4epigistuse (handshake) ning turvalise \u00fchenduse loomiseks peab klient vahetama s\u00f5numeid serveriga kolm korda ja veel v\u00e4hemalt \u00fche rahuldava korraga andmete edastamiseks. Kui \u00fche vahetuse (RTT) viivitus on 100 ms, siis vajame esimesse andmebitti j\u00f5udmiseks 400 ms:<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/ab12024f5a9940ca470f27821ca3c631.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKui sertifikaadid on CDN-serveris, saame oluliselt v\u00e4hendada \u00abk\u00e4tlemise\u00bb aega kliendi ja serveri vahel, kui CDN on l\u00e4hemal. Oletame, et viivitus CDN-serverisse on 30 ms. Siis on esimese biti saamiseks vajalik aeg juba 220 ms:<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/d63134bb51592aaa6a5e0c86f1a070e0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKuid eelised sellega ei l\u00f5ppe. P\u00e4rast \u00fchenduse loomist suurendab TCP congestion window'i (teabe hulka, mida see saab samaaegselt \u00fcle kanda). Kui andmepakett kaob, v\u00e4hendavad klassikalised TCP protokollide teostused (nt TCP New Reno) avatud \u00abakent\u00bb kahe korda. Congestion window'i kasv ja selle taastumise kiirus kaotuse t\u00f5ttu s\u00f5ltub j\u00e4lle serverisse j\u00f5udmise viivitusest (RTT). Kui see \u00fchendus l\u00e4heb ainult CDN-serverisse, on taastumine kiirem. Samal ajal on andmepakettide kadumine tavaline n\u00e4htus, eriti traadita v\u00f5rkudes.<\/p>\n<p>Interneti l\u00e4bilaskev\u00f5ime v\u00f5ib kahaneda, eriti tipptundidel, kuna liiklus kasutajatelt tekitab 'ummikuid'. Internetis ei ole v\u00f5imalik \u00fchtede p\u00e4ringute prioriseerimist teiste suhtes. N\u00e4iteks anda prioritiseerida v\u00e4ikese mahuga ja viivitusest s\u00f5ltuvad p\u00e4ringud v\u00f5rreldes 'raskete' andmevoogudega, mis koormavad v\u00f5rku. Kuid meie juhul v\u00f5imaldab oma backbone-v\u00f5rne olemasolu seda teha osalise teel p\u00e4ringu \u2013 CDN ja pilve vahel, ning saame seda t\u00e4ielikult konfigureerida. Saame seadistada, et v\u00e4ikesed ja viivitustest s\u00f5ltuvad paketid prioriseeritaks, samas kui suured andmevood l\u00e4heksid veidi hiljem. Mida l\u00e4hemal on CDN kliendile, seda suurem on efektiivsus.<\/p>\n<p>Samuti m\u00f5jutavad viivitust rakendustasandi protokollid (OSI tasemel 7). Uued protokollid, nagu HTTP\/2, v\u00f5imaldavad paralellp\u00e4ringute j\u00f5udlust optimeerida. Kuid meil on Netflixis kliente, kelle seadmed ei toeta uusi protokolle. K\u00f5iki kliente ei saa v\u00e4rskendada v\u00f5i optimaalselt seadistada. Samal ajal on CDN-proksi ja pilve vahel t\u00e4ielik kontroll ning v\u00f5imalus kasutada uusi, optimaalseid protokolle ja seadeid. Ebaefektiivne osa vanade protokollide osas toimib ainult kliendi ja CDN-serveri vahel. Veelgi enam, me saame teha mitme p\u00e4ringu multipleximise juba loodud \u00fchenduste kaudu CDN-i ja pilve vahel, parandades TCP tasandi \u00fchenduse kasutamist:<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/a05b49680734670dcfce9111f3ba1919.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>M\u00f5\u00f5dame<\/h2>\n<p>\nKuigi teoreetiliselt lubatakse parendusi, ei kiirusta me kohe s\u00fcsteemi k\u00e4ivitama. Selle asemel peame k\u00f5igepealt t\u00f5estama, et idee t\u00f6\u00f6tab praktikas. Selleks tuleb vastata mitmele k\u00fcsimusele:<\/p>\n<ul>\n<li><b>Kiirus<\/b>: Kas proksi on kiirem?<\/li>\n<li><b>Usaldusv\u00e4\u00e4rsus<\/b>: Kas see katkevad sagedamini?<\/li>\n<li><b>Raskusaste<\/b>: Kuidas integreerida rakendustega?<\/li>\n<li><b>Hind<\/b>: Kui palju maksab t\u00e4iendava infrastruktuuri juurutamine?<\/li>\n<\/ul>\n<p>\nUurime meie l\u00e4henemist esimese punkti hindamisele p\u00f5hjalikult. \u00dclej\u00e4\u00e4nud k\u00e4sitletakse sarnasel viisil.<\/p>\n<p>K\u00fcsimuste kiirusanal\u00fc\u00fcsi jaoks soovime saada andmeid k\u00f5igi kasutajate kohta, et mitte kulutada palju aega arendusele ja mitte rikkoa tootmist. Selleks on mitu l\u00e4henemist:<\/p>\n<ol>\n<li>RUM ehk passiivne k\u00fcsimuste m\u00f5\u00f5tmine. M\u00f5\u00f5dame aktiivsete kasutajate k\u00fcsimuste t\u00e4itmise aega ja tagame t\u00e4ieliku kasutajate katvuse. Puuduseks on madal signaali stabiilsus, mille p\u00f5hjustavad mitmed tegurid, n\u00e4iteks erinevate k\u00fcsimuste suurused, serveri ja kliendi t\u00f6\u00f6tlemise aeg. Pealegi ei saa me testida uut konfiguratsiooni tootmise m\u00f5ju m\u00f5jutamata.<\/li>\n<li>Laboritestid. Erilised serverid ja infrastruktuur, mis simuleerivad kliente. Nende abil teeme vajalikud testid. Nii saame tulemuste m\u00f5\u00f5tmiste \u00fcle t\u00e4ieliku kontrolli ja selge signaali. Kuid puudub t\u00e4ielik katvus seadmete ja kasutajate asukohtade osas (eriti teenuse puhul, mis katab kogu maailma ja toetab tuhandeid seadmete mudeleid).<\/li>\n<\/ol>\n<p>\nKuidas saaksime m\u00f5lema meetodi eelised kokku tuua?<\/p>\n<p>Meie meeskond leidis lahenduse. Kirjutasime v\u00e4ikese koodi - proovi - mille integreerisime oma rakendusse. Proovid v\u00f5imaldavad meil teostada t\u00e4ielikult kontrollitud v\u00f5rku teste meie seadmetest. See t\u00f6\u00f6tab j\u00e4rgmiselt: <\/p>\n<ol>\n<li>Varsti p\u00e4rast rakenduse laadimist ja esialgse tegevuse l\u00f5petamist k\u00e4ivitame meie proovid. <\/li>\n<li>Kliendi serverile tehtud p\u00e4ringule vastatakse \"retseptiga\" testiks. Retsept on URL-ide nimekiri, millele tuleb teha HTTP(s) p\u00e4ring. Lisaks konfigureerib retsept p\u00e4ringute parameetrid: viivitused p\u00e4ringute vahel, k\u00fcsitava andmemaht, HTTP(s) p\u00e4ised jne. Samuti saame samal ajal testida mitmeid erinevaid retsepte - konfiguratsiooni p\u00e4rimise ajal m\u00e4\u00e4ratakse juhuslikult, milline retsept v\u00e4lja anda. <\/li>\n<li>Proovi k\u00e4ivitamise aeg valitakse nii, et see ei kattuks kliendi aktiivse v\u00f5rguressursside kasutamisega. Ehkki, valitakse aeg, mil klient ei ole aktiivne.<\/li>\n<li>Retsepti saamisel esitab klient p\u00e4ringud iga URL-aadressi kohta samaaegselt. Iga aadressi p\u00e4ringut v\u00f5idakse korrata \u2013 nn \u201epulssidena\u201c. Esimesel pulsil m\u00f5\u00f5dame, kui kaua kulus \u00fchenduse loomisele ja andmete allalaadimisele. Teisel pulsil m\u00f5\u00f5dame andmete laadimise aega juba loodud \u00fchenduse kaudu. Enne kolmandat pulssi v\u00f5ime seada viivituse ja m\u00f5\u00f5ta uuesti \u00fchenduse loomise kiirus jne.\n<p>Testi ajal m\u00f5\u00f5dame k\u00f5iki parameetreid, mida seade saab:<\/p>\n<ul>\n<li>DNS-p\u00e4ringu aeg;<\/li>\n<li>TCP-\u00fchenduse loomise aeg;<\/li>\n<li>TLS-\u00fchenduse loomise aeg;<\/li>\n<li>esimese andmebaidi saamise aeg;<\/li>\n<li>\u00fcldine laadimisaja;<\/li>\n<li>tulemuse staatuse kood.<\/li>\n<\/ul>\n<\/li>\n<li> Kogu pulsside l\u00f5ppedes laadib proov alla k\u00f5ik m\u00f5\u00f5tmistulemused anal\u00fc\u00fcsiks.<\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/fff11d487b7c7725707cdeeca0734296.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPeamised aspektid on minimaalne s\u00f5ltuvus kliendi loogikast, andmete t\u00f6\u00f6tlemine serveris ja paralleelsete p\u00e4ringute m\u00f5\u00f5tmine. Selliselt saame isoleerida ja testida erinevate tegurite m\u00f5ju p\u00e4ringute j\u00f5udlusele, varieerida neid \u00fche retsepti raames ning saada tulemusi reaalsetelt klientidelt.<\/p>\n<p>Selline infrastruktuur on osutunud kasulikuks mitte ainult p\u00e4ringute j\u00f5udluse anal\u00fc\u00fcsimiseks. Praegu on meil 14 aktiivset retsepti, \u00fcle 6000 proovi sekundis, mis saavad andmeid igast maailma nurgast ja katab t\u00e4ielikult seadmeid. Kui Netflix ostaks sarnase teenuse kolmandatelt ettev\u00f5tetelt, maksaks see miljoneid dollareid aastas, oluliselt halvemate kattega.<\/p>\n<h2>Katsume teooriat praktikas: protot\u00fc\u00fcp<\/h2>\n<p>\nSellise s\u00fcsteemiga saime hinnata CDN-proksi efektiivsust p\u00e4ringute latentsus. N\u00fc\u00fcd tuleb:<\/p>\n<ul>\n<li>luua proksi protot\u00fc\u00fcp;<\/li>\n<li>paigutada protot\u00fc\u00fcp CDN-ile;<\/li>\n<li>m\u00e4\u00e4rata, kuidas suunata kliente proksile konkreetses CDN-serveris;<\/li>\n<li>v\u00f5rrelda j\u00f5udlust AWS-i p\u00e4ringute puhul ilma proksita.<\/li>\n<\/ul>\n<p>\n\u00dclesanne on v\u00f5imalikult kiiresti hinnata ettepaneku t\u00f5husust. Protot\u00fc\u00fcbi teostamiseks valisime Go, kuna sellel on head v\u00f5rguraamatukogud. Igal CDN-serveril installisime protot\u00fc\u00fcbi proksina staatilise binaarina, et v\u00e4hendada s\u00f5ltuvusi ja lihtsustada integreerimist. Esialgses teostuses kasutasime maksimaalselt standardkomponente ja v\u00e4ikseid modifikatsioone HTTP\/2 \u00fchenduste basseinide ja p\u00e4ringute multiplitseerimise jaoks.<\/p>\n<p>AWS regionide vaheliseks koormuse jaotamiseks kasutasime geograafilist DNS-andmebaasi, samasugust, mida kasutatakse klientide koormuse jagamiseks. CDN-serveri valimiseks kliendi jaoks kasutame TCP Anycasti Internet Exchange (IX) serverite jaoks. Sellisel juhul kasutame \u00fcht IP-aadressi k\u00f5igile CDN-serveritele, samal ajal suunatakse klient CDN-serverisse, millel on k\u00f5ige v\u00e4hem IP-hops'e. CDN-serverites, mis on paigaldatud interneti teenusepakkujate (ISP) juures, ei ole meil marsruuteri \u00fcle kontrolli TCP Anycasti seadistamiseks, seega rakendame <noindex><a rel=\"nofollow\" href=\"https:\/\/www.infoq.com\/presentations\/netflix-streaming-arch\/\">sama loogikat<\/a><\/noindex>, mille abil suunatakse kliente interneti teenusepakkujatesse videovaatamiseks.<\/p>\n<p>Nii, meil on kolm teed p\u00e4ringu esitamiseks: pilve kaudu avatud interneti, CDN-serveri kaudu IX-s v\u00f5i Interneti-teenuse pakkuja juures asuva CDN-serveri kaudu. Meie eesm\u00e4rk on m\u00f5ista, milline tee on parem ja milline on proksi kasu v\u00f5rreldes sellega, kuidas p\u00e4ringud suunatakse tootmisse. Selleks kasutame katsetuss\u00fcsteemi j\u00e4rgmiselt:<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/51b64d5be0aaf0f141484ee0fd373396.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIga tee muutub eraldi sihtm\u00e4rgiks ning vaatame, kui palju aega me saavutame. Anal\u00fc\u00fcsiks \u00fchendame proksi tulemused \u00fchte gruppi (valime parima aja IX ja ISP proksi vahel) ning v\u00f5rdleme seda pilve p\u00e4ringute ajaga ilma proksita:<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/ec01690f6a312e61649282b0e6208778.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNagu n\u00e4ha, olid tulemused kahetised \u2013 enamikul juhtudel annab proksi hea kiirenduse, kuid on ka piisavalt kliente, kelle jaoks olukord halveneb oluliselt. <\/p>\n<p>Kokkuv\u00f5ttes tegime mitmeid olulisi asju:<\/p>\n<ol>\n<li>Hindasime klientide oodatavat s\u00f5ltumatut j\u00f5udlust pilve kaudu CDN proksi kaudu.<\/li>\n<li>Saime andmeid reaalsetelt klientidelt k\u00f5ikidest seadmetest.<\/li>\n<li>M\u00f5istsime, et teooria ei kinnitunud 100% ja algne ettepanek CDN proksi kasutamiseks meie jaoks ei toimi.<\/li>\n<li>Ei riskinud - ei muutnud klientide tootmiskonfiguratsioone.<\/li>\n<li>Mitte midagi ei katki. <\/li>\n<\/ol>\n<p><\/p>\n<h2>Protot\u00fc\u00fcp 2.0<\/h2>\n<p>\nNii et naaseme joonistetoimete juurde ja kordame protsessi uuesti.<\/p>\n<p>Idee on see, et 100% proxy asemel m\u00e4\u00e4rame iga kliendi jaoks k\u00f5ige kiirema tee ning suuname sinna p\u00e4ringud - see t\u00e4hendab, et teeme seda, mida nimetatakse client steering.<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/780817f48a4d2b292d5545e0aa1ccc50.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKuidas see ellu viia? Me ei saa kasutada loogikat serveri poolel, kuna eesm\u00e4rk on just sellele serverile \u00fchenduda. Peame seda kuidagi tegema kliendipoolsetel s\u00fcsteemidel. Ja ideaaljuhul, teha seda minimaalse keeruka loogikaga, et mitte tegeleda laialdase klientide platvormide integreerimisega. <\/p>\n<p>Vastus on DNS-i kasutamine. Meie puhul on meil oma DNS-infrastruktuur, ja me saame seadistada domeenitsooni, mille jaoks meie serverid on autoriteetsed. See t\u00f6\u00f6tab j\u00e4rgmiselt:<\/p>\n<ol>\n<li>Kliendilt tuleb p\u00e4ring DNS-serverile, kasutades hosti, n\u00e4iteks api.netflix.xom.<\/li>\n<li>P\u00e4ring j\u00f5uab meie DNS-serverisse<\/li>\n<li>DNS-server teab, milline tee on sellele kliendile k\u00f5ige kiirem ja annab vastava IP-aadressi. <\/li>\n<\/ol>\n<p>\nLahenduses on t\u00e4iendav keerukus: autoriteetsed DNS-teenusepakkujad ei n\u00e4e kliendi IP-aadressi ja saavad arvesse v\u00f5tta ainult kliendi kasutatava rekursiivse resolveri IP-aadressi. <\/p>\n<p>Seet\u00f5ttu peab meie autoriteetne resolver langetama otsuse mitte \u00fche kliendi, vaid kliendigruppi p\u00f5hjal rekursiivse resolveri alusel. <\/p>\n<p>Lahenduse tarbeks kasutame samu proove, kogume m\u00f5\u00f5tmisandmed klientidelt iga rekursiivse resolveri kohta ja otsustame, kuhu seda gruppi suunata \u2014 kas IX kaudu proksiga TCP Anycast, ISP proksi kaudu v\u00f5i otse pilve.<\/p>\n<p>Saame sellise s\u00fcsteemi:<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/ad23219938d1cb7b6eef498671c3e151.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSaadud DNS steering mudel v\u00f5imaldab suunata kliente ajalooliste vaatluste p\u00f5hjal \u00fchenduse kiirusest klientide ja pilve vahel. <\/p>\n<p>J\u00e4llegi, k\u00fcsimus on \u2014 kui t\u00f5husalt see l\u00e4henemine t\u00f6\u00f6tab? Vastuse leidmiseks kasutame taas meie proovide s\u00fcsteemi. Seet\u00f5ttu seame \u00fcles konfigureerimise recency, kus \u00fcks sihtpunkt j\u00e4rgib DNS steering'i suunda, teine \u2014 l\u00e4heb otse pilve (praegune tootmine).<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/ceb2ded9367ebd0aa0ede46191a89a88.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSeet\u00f5ttu v\u00f5rreldame tulemusi ja saame t\u00f5hususe hindamise:<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/ca0db88461d5f2cb0f3f7c07eae14f10.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKokkuv\u00f5ttes saime teada mitmeid olulisi asju:<\/p>\n<ol>\n<li>Hindame kliendip\u00e4ringute oodatavat j\u00f5udlust pilve kaudu DNS Steering abil.<\/li>\n<li>Saime andmeid reaalsetelt klientidelt k\u00f5ikidest seadmetest.<\/li>\n<li>Oleme t\u00f5estanud pakutud idee t\u00f5husust.<\/li>\n<li>Ei riskinud - ei muutnud klientide tootmiskonfiguratsioone.<\/li>\n<li>Mitte midagi ei katki.<\/li>\n<\/ol>\n<p><\/p>\n<h2>N\u00fc\u00fcd keerulisest \u2014 k\u00e4ivitame tootmisprotsessis.<\/h2>\n<p>\nK\u00f5ige lihtsam on n\u00fc\u00fcd m\u00f6\u00f6das \u2014 olemas toimiv protot\u00fc\u00fcp. N\u00fc\u00fcd on keeruline osa \u2014 k\u00e4ivitada lahendus kogu Netflixi liiklusele, mis peab olema kohandatud 150 miljonile kasutajale, tuhandele seadmele, sadadele mikroteenustele ja pidevalt muutuvatele toodetele ning infrastruktuurile. Netflixi serveritele saabub miljoneid p\u00e4ringuid sekundis ning \u00fcks vale liigutus v\u00f5ib teenuse kergesti rikkuda. Samal ajal tahan d\u00fcnaamiliselt suunata liiklust tuhandete CDN serverite kaudu internetis, kus midagi muutub ja murdub pidevalt ning k\u00f5ige v\u00e4hem sobival hetkel. <\/p>\n<p>Ja kogu selle jooksul on tiimis 3 inseneri, kes vastutavad s\u00fcsteemi v\u00e4ljat\u00f6\u00f6tamise, juurutamise ja t\u00e4ieliku toe eest.<\/p>\n<p>Seet\u00f5ttu r\u00e4\u00e4gime n\u00fc\u00fcd rahulikust ja tervislikust unest.<\/p>\n<p>Kuidas j\u00e4tkata arendust, mitte kulutada kogu aega toe pakkumisele? Meie l\u00e4henemise aluseks on 3 p\u00f5him\u00f5tet:<\/p>\n<ol>\n<li>V\u00e4hendame v\u00f5imalike rikke ulatust (blast radius). <\/li>\n<li>Valmistume \u00fcllatusteks \u2014 ootame, et midagi v\u00f5ib katki minna, hoolimata testimisest ja isiklikest kogemustest.<\/li>\n<li>Aeglane degradeerimine (graceful degradation) \u2014 kui midagi ei t\u00f6\u00f6ta korralikult, peaks see automaatselt paranema, kuigi mitte k\u00f5ige t\u00f5husamal viisil.<\/li>\n<\/ol>\n<p>\nSelgus, et meie puhul on sellise probleemilahenduse juures v\u00f5imalik leida lihtne ja t\u00f5hus lahendus, mis oluliselt lihtsustab s\u00fcsteemi hooldust. Saime aru, et saame lisada kliendile v\u00e4ikese koodil\u00f5igu ja j\u00e4lgida v\u00f5rgup\u00e4ringute vigu, mis on p\u00f5hjustatud \u00fchenduse probleemidest. V\u00f5rguvigade korral teeme fallbacki otse pilve. Selline lahendus ei n\u00f5ua kliimiteamilt suuri pingutusi, kuid v\u00e4hendab oluliselt ootamatute t\u00f5rgete ja \u00fcllatuste riski meie jaoks.<\/p>\n<p>Muidugi, hoolimata fallback'ist j\u00e4rgime siiski ranget distsipliini arenduse k\u00e4igus:<\/p>\n<ol>\n<li>Katsed proovide jaoks.<\/li>\n<li>A\/B testimine v\u00f5i Canaries.<\/li>\n<li>J\u00e4rkj\u00e4rguline v\u00e4ljalaskmine (progressive rollout).<\/li>\n<\/ol>\n<p>\nProovide osas on l\u00e4henemine kirjeldatud \u2014 muudatusi testitakse esmalt seadistatud retsepti abil.<\/p>\n<p>Canary-testimiseks vajame v\u00f5rreldavaid serveripaaride r\u00fchmi, et n\u00e4ha, kuidas s\u00fcsteem t\u00f6\u00f6tab enne ja p\u00e4rast muudatusi. Selleks valime meie paljusid CDN site'idelt serveripaarid, mis saavad sarnast liiklust:<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/eef504f5c81aa985b78339fd5f913d14.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSeej\u00e4rel paigaldame muudatused sisaldava koostise Canary serveritesse. Tulemuste hindamiseks k\u00e4ivitame s\u00fcsteemi, mis v\u00f5rreldab umbes 100\u2013150 m\u00f5\u00f5dikut Control serverite valikuga:<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/898edb0a5bd493d6ef228cd116c1a939.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKui Canary-testimine on edukas, teeme j\u00e4rk-j\u00e4rgult, lainetena v\u00e4ljaande. Igal saidil ei uuenda me servereid samaaegselt \u2014 terve saidi kadumine probleemide korral m\u00f5jutab teenust kasutajatele rohkem kui sama palju servereid, kuid erinevates kohtades.<\/p>\n<p>\u00dcldiselt s\u00f5ltub selle l\u00e4henemise t\u00f5husus ja ohutus kogutud m\u00f5\u00f5dikutest ning nende kvaliteedist. Meie p\u00e4ringute kiirus\u00fcsteemi jaoks kogume m\u00f5\u00f5dikut k\u00f5ikidest v\u00f5imalikest komponentidest: <\/p>\n<ul>\n<li>klientidelt \u2014 seansside ja p\u00e4ringute arv, fallback rates; <\/li>\n<li>proksidest \u2014 p\u00e4ringute arvu ja keste statistika;<\/li>\n<li>DNS \u2014 p\u00e4ringute arv ja tulemused;<\/li>\n<li>cloud edge \u2014 p\u00e4ringute t\u00f6\u00f6tlemise hulk ja aeg pilves.<\/li>\n<\/ul>\n<p>\nK\u00f5ik see koguneb \u00fchte pipeline'i, ja s\u00f5ltuvalt vajadustest otsustame, millised m\u00f5\u00f5dikud saata reaalajas anal\u00fc\u00fcsiks ning millised Elasticsearchi v\u00f5i Big Data'sse s\u00fcvadiagnoosimiseks.<\/p>\n<h2>J\u00e4lgime<\/h2>\n<p>\n<img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/ff8b00b1239a20f85e96ce23c2d7c2d0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMeie puhul teeme muudatusi p\u00e4ringute kriitilisel teel kliendi ja serveri vahel. Samal ajal on erinevate komponente kliendil, serveris ja internetis tohutult. Muudatused kliendil ja serveris toimuvad pidevalt \u2014 k\u00fcmnete tiimide t\u00f6\u00f6 k\u00e4igus ning \u00f6kos\u00fcsteemi looduslike muutuste t\u00f5ttu. Oleme keskel \u2014 probleemide diagnoosimisel on suur v\u00f5imalus, et osaleme selles. Seet\u00f5ttu peame selgelt aru saama, kuidas m\u00f5\u00f5dikuid kindlaks teha, koguda ja anal\u00fc\u00fcsida probleemide kiireks lokaliseerimiseks. <\/p>\n<p>Ideaalis oleks t\u00e4ielik juurdep\u00e4\u00e4s k\u00f5ikidele m\u00f5\u00f5dikutele ja filtritele reaalajas. Kuid m\u00f5\u00f5dikute hulk on tohutu, seet\u00f5ttu tekib k\u00fcsimus kuludest. Meie puhul jagame m\u00f5\u00f5dikud ja arendust\u00f6\u00f6riistad j\u00e4rgmiselt:<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/0b4a15776f3b44331652adc14ea87390.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nProbleemide avastamiseks ja triage'iks kasutame oma reaalajas avatud l\u00e4htekoodiga s\u00fcsteemi. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Netflix\/atlas\">Atlas<\/a><\/noindex> ja <noindex><a rel=\"nofollow\" href=\"https:\/\/netflixtechblog.com\/lumen-custom-self-service-dashboarding-for-netflix-8c56b541548c\">Lumen<\/a><\/noindex> \u2014 visualiseerimiseks. See s\u00e4ilitab m\u00e4lus kogutud m\u00f5\u00f5dikud, on usaldusv\u00e4\u00e4rne ja integreerub h\u00e4ires\u00fcsteemiga. Lokaliseerimise ja diagnoosimise jaoks p\u00e4\u00e4seme logidele Elasticsearch ja Kibana kaudu. Statistiliseks anal\u00fc\u00fcsiks ja modelleerimiseks kasutame big data't ja visualiseerimist Tableau's.<\/p>\n<p>Tundub, et sellise l\u00e4henemisega on v\u00e4ga keeruline t\u00f6\u00f6tada. Kuid hierarhilise m\u00f5\u00f5dikute ja t\u00f6\u00f6riistade korralduse korral saame kiiresti probleemi anal\u00fc\u00fcsida, m\u00e4\u00e4rata probleemi t\u00fc\u00fcbi ning seej\u00e4rel s\u00fcveneda detailsetesse m\u00f5\u00f5dikutesse. Rikete allika leidmiseks kulutame tavaliselt umbes 1\u20132 minutit. P\u00e4rast seda t\u00f6\u00f6tame konkreetse meeskonnaga diagnoosi kallal \u2014 see v\u00f5ib v\u00f5tta aega k\u00fcmneid minuteid kuni mitu tundi.<\/p>\n<p>Isegi kui diagnoosimine toimub kiiresti, ei soovi me, et see liiga tihti juhtuks. Ideaalis peaksime saama kriitilise h\u00e4ire ainult siis, kui see m\u00f5jutab teenust oluliselt. Meie p\u00e4ringute kiirusest tingitud s\u00fcsteemil on ainult 2 h\u00e4iret, mis teavitavad:<\/p>\n<ul>\n<li>Client Fallback protsent \u2014 hindab klientide k\u00e4itumist;<\/li>\n<li>Probe errors protsent \u2014 andmed v\u00f5rguelementide stabiilsuse kohta.<\/li>\n<\/ul>\n<p>\nNeed for critical alerts to monitor if the system operates for most users. We observe how many clients used the fallback when they could not receive request acceleration. On average, we have less than one critical alert per week, despite a huge number of changes occurring in the system. Why is this sufficient for us?<\/p>\n<ol>\n<li>There is a client fallback in case our proxy does not work.<\/li>\n<li>There is an automatic steering system that responds to issues.<\/li>\n<\/ol>\n<p>\nMore about this: Our probe system and automatic path optimization for requests from clients to the cloud allow us to automatically address some issues. <\/p>\n<p>Let's return to our probe configuration and three categories of paths. Besides loading times, we can also look at the very fact of delivery. If data could not be loaded, by analyzing results across different paths, we can identify where and what broke and whether we can automatically fix it by changing the request path.<\/p>\n<p>N\u00e4ited:<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/7d935da82aaca53af87f05fbdf215c4c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/f74ef9d3de953099921a68fbc65cb187.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/3c77cbd47813d3320efbf339a0690c53.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSeda protsessi on v\u00f5imalik automatiseerida. Integreerida see juhtimiss\u00fcsteemi. Ja \u00f5petada seda reageerima j\u00f5udluse ja usaldusv\u00e4\u00e4rsuse probleemidele. Kui midagi hakkab minema rikki \u2014 reageerida sellele, kui on parem lahendus. Samas ei ole kohene reageerimine kriitiline, kuna on olemas varufunktsioon kliendil.<\/p>\n<p>Seega v\u00f5ib s\u00fcsteemi toetamise p\u00f5him\u00f5tteid s\u00f5nastada nii:<\/p>\n<ul>\n<li>v\u00e4hendame rikke ulatust;<\/li>\n<li>kogu statistikat;<\/li>\n<li>parandame rikkeid automaatselt, kui suudame;<\/li>\n<li>kui ei suuda \u2014 teavitame;<\/li>\n<li>t\u00f6\u00f6tame v\u00e4lja juhtpaneele ja triigeerimist\u00f6\u00f6riistu kiireks reageerimiseks.<\/li>\n<\/ul>\n<p><\/p>\n<h2>T\u00f5statatud \u00f5ppetunnid<\/h2>\n<p>\nProtot\u00fc\u00fcbi kirjutamiseks ei kulu palju aega. Meie puhul oli see valmis juba nelja kuu p\u00e4rast. Sellega saime uusi statistikaid ja k\u00fcmne kuu m\u00f6\u00f6dudes arenduse algusest saime esimese tootmisliikluse. Seej\u00e4rel algas t\u00fclikas ja v\u00e4ga keeruline t\u00f6\u00f6: s\u00fcsteemi toodetuks muutmine ja skaleerimine, p\u00f5hiliiklusest migreerimine ja vigadest \u00f5ppimine. Samas ei ole see efektiivne protsess lineaarne \u2014 hoolimata k\u00f5igist pingutustest ei saa k\u00f5ike ette n\u00e4ha. Oluliselt efektiivsem on kiire iteratsioon ja reageerimine uutele andmetele. <\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame internetip\u00e4ringuid ja magame rahulikult\" src=\"\/wp-content\/uploads\/2020\/06\/c9c182a1a4fa048b1f1b2a82a4db65e1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMeie kogemuste p\u00f5hjal saame soovitada j\u00e4rgmist:<\/p>\n<ol>\n<li>\u00c4rge usaldage oma intuitsiooni.\n<p>Meie intuitsioon on meid pidevalt petnud, hoolimata meeskonna liikmete suurest kogemusest. N\u00e4iteks, me ennustasime valesti oodatavat kiirendust CDN-proksi kasutamisest v\u00f5i TCP Anycast'i k\u00e4itumist.<\/li>\n<li>Saage andmed tootmisest.\n<p>On oluline, et saaksite v\u00f5imalikult kiiresti ligip\u00e4\u00e4su v\u00e4hemalt v\u00e4ikesele hulgale tootmisandmetele. Unikaalsete juhtumite, konfiguratsioonide ja seadistuste saamine katsetingimustes on peaaegu v\u00f5imatu. Kiire juurdep\u00e4\u00e4s tulemustele v\u00f5imaldab teil kiiremini teada saada potentsiaalsetest probleemidest ja arvesse v\u00f5tta neid s\u00fcsteemi arhitektuuris.<\/li>\n<li>\u00c4rge j\u00e4rgige teiste n\u00f5uandeid ja tulemusi \u2014 koguge oma andmeid.\n<p>J\u00e4rgige andmete kogumise ja anal\u00fc\u00fcsi p\u00f5him\u00f5tteid, kuid \u00e4rge v\u00f5tke pimesi teiste tulemusi ja v\u00e4iteid. Ainult teie teate t\u00e4pselt, mis t\u00f6\u00f6tab teie kasutajatele. Teie s\u00fcsteemid ja teie kliendid v\u00f5ivad teistest ettev\u00f5tetest oluliselt erineda. On hea, et anal\u00fc\u00fcsivahendid on n\u00fc\u00fcd saadaval ja lihtsalt kasutatavad. Teie tulemused v\u00f5ivad erineda sellest, mida v\u00e4idavad Netflix, Facebook, Akamai ja teised ettev\u00f5tted. Meie puhul on TLS-i, HTTP2 v\u00f5i DNS-i p\u00e4ringute statistika erinev Facebooki, Uberi, Akamai omadest \u2013 kuna meil on erinevad seadmed, kliendid ja andmevoogud.<\/li>\n<li>\u00c4rge j\u00e4rgige moetrende ilma vajaduse ja t\u00f5hususe hindamiseta.\n<p>Alustage lihtsast. Paremini on teha lihtne t\u00f6\u00f6tav s\u00fcsteem l\u00fchikese ajaga, kui kulutada tohutult aega teile ebavajalike komponentide loomisele. Lahendage probleemid ja \u00fclesanded, mis on oluliselt olulised teie m\u00f5\u00f5tmete ja tulemuste p\u00f5hjal. <\/li>\n<li>Olge valmis uuteks rakendusteks.\n<p>Nii keeruline, kui on ette n\u00e4ha k\u00f5iki probleeme, on ka ette n\u00e4ha eeliseid ja rakendusi. V\u00f5tke eeskuju idufirmadelt \u2014 nende v\u00f5ime kohanduda klientide tingimustega. Teie puhul v\u00f5ib see t\u00e4hendada, et avastate uusi probleeme ja lahendusi. Meie projektis seadsime eesm\u00e4rgiks v\u00e4hendada p\u00e4ringute viivitust. Siiski, anal\u00fc\u00fcsi ja arutelude k\u00e4igus m\u00f5istsime, et saame kasutada ka proksi servereid:<\/p>\n<ul>\n<li>liikluse tasakaalustamiseks AWS regioonides ja kulude v\u00e4hendamiseks;<\/li>\n<li>CDN stabiilsuse modelleerimiseks;<\/li>\n<li>DNS-i konfigureerimiseks;<\/li>\n<li>TLS\/TCP-i konfigureerimiseks.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><\/p>\n<h2>Kokkuv\u00f5te<\/h2>\n<p>\nMinu ettekandes kirjeldasin, kuidas Netflix lahendab internetip\u00e4ringute kiirendamise probleemi klientide ja pilve vahel. Kuidas kogume andmeid klientidelt, kasutades proove, ja kasutame kogutud ajaloolisi andmeid, et suunata tootmisp\u00e4ringud klientidelt k\u00f5ige kiiremat teed pidi internetis. Kuidas kasutame v\u00f5rguprotokollide t\u00f6\u00f6p\u00f5him\u00f5tteid, meie CDN infrastruktuuri, backbone-v\u00f5rku ja DNS servereid, et seda \u00fclesannet t\u00e4ita.<\/p>\n<p>Kuid meie lahendus on vaid n\u00e4idis sellest, kuidas me Netflixis sarnast s\u00fcsteemi rakendasime. Mis meie puhul toimis. Minu ettekande rakenduslik osa teie jaoks on arendamise ja toetamise p\u00f5him\u00f5tted, mida j\u00e4rgime ning mille abil saavutame h\u00e4id tulemusi.<\/p>\n<p>Meie probleemilahendus ei pruugi teie jaoks sobida. Kuid teooria ja arendamise p\u00f5him\u00f5tted j\u00e4\u00e4vad kehtima, isegi kui teil puudub oma CDN infrastruktuur v\u00f5i kui see erineb oluliselt meie omast. <\/p>\n<p>Samuti j\u00e4\u00e4b oluliseks p\u00e4ringute kiirus \u00e4ri jaoks. Ja isegi lihtsa teenuse puhul tuleb teha valik: 'pilve' teenusepakkujate, serverite asukoha, CDN ja DNS teenusepakkujate vahel. Teie valik m\u00f5jutab internetip\u00e4ringute t\u00f5husust teie klientidele. Ja teie jaoks on oluline seda m\u00f5ju m\u00f5\u00f5ta ja m\u00f5ista.<\/p>\n<p>Alustage lihtsatest lahendustest, m\u00f5elge hoolikalt, kuidas te toodet muudate. \u00d5ppige protsessi k\u00e4igus ja t\u00e4iustage s\u00fcsteemi oma klientide, teie infrastruktuuri ja teie \u00e4ri andmete p\u00f5hjal. M\u00f5elge ootamatute rikete v\u00f5imalusele projekteerimisprotsessi ajal. Aeg-ajalt suudate te kiirendada oma arendusprotsessi, parandada lahenduste efektiivsust, v\u00e4ltida liigset koormust tugiteenusele ja magada rahulikult.<\/p>\n<blockquote><p>Sel aastal <noindex><a rel=\"nofollow\" href=\"http:\/\/devoops-moscow.ru\/?utm_source=habr&amp;utm_medium=506106\">konverents toimub 6.\u201310. juulil<\/a><\/noindex> vahetusvormingus. K\u00fcsimusi saab esitada \u00fchelt DevOpsi isalt, John Williselt!<\/p><\/blockquote>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/jugru\/blog\/506106\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>Netflix \u2014 \u043b\u0438\u0434\u0435\u0440 \u0440\u044b\u043d\u043a\u0430 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u0442\u0435\u043b\u0435\u0432\u0438\u0434\u0435\u043d\u0438\u044f \u2014 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f, \u0441\u043e\u0437\u0434\u0430\u0432\u0448\u0430\u044f \u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u044d\u0442\u043e\u0442 \u0441\u0435\u0433\u043c\u0435\u043d\u0442. Netflix \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0431\u0448\u0438\u0440\u043d\u044b\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u043c \u043a\u0438\u043d\u043e \u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u043e\u0432, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0441 \u043f\u043e\u0447\u0442\u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0443\u0433\u043e\u043b\u043a\u0430 \u043f\u043b\u0430\u043d\u0435\u0442\u044b \u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441 \u0434\u0438\u0441\u043f\u043b\u0435\u0435\u043c, \u043d\u043e \u0438 \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u0438 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e\u0439 \u043a\u0443\u043b\u044c\u0442\u0443\u0440\u043e\u0439. \u041d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 Netflix \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043d\u0430 DevOops 2019 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":84877,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-84876","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Netflix \u2014 \u043b\u0438\u0434\u0435\u0440 \u0440\u044b\u043d\u043a\u0430 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u0442\u0435\u043b\u0435\u0432\u0438\u0434\u0435\u043d\u0438\u044f \u2014 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f, \u0441\u043e\u0437\u0434\u0430\u0432\u0448\u0430\u044f \u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u044d\u0442\u043e\u0442 \u0441\u0435\u0433\u043c\u0435\u043d\u0442. Netflix \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0431\u0448\u0438\u0440\u043d\u044b\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u043c \u043a\u0438\u043d\u043e \u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u043e\u0432, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0441 \u043f\u043e\u0447\u0442\u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0443\u0433\u043e\u043b\u043a\u0430 \u043f\u043b\u0430\u043d\u0435\u0442\u044b \u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441 \u0434\u0438\u0441\u043f\u043b\u0435\u0435\u043c, \u043d\u043e \u0438 \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u0438 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e\u0439 \u043a\u0443\u043b\u044c\u0442\u0443\u0440\u043e\u0439. \u041d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 Netflix \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043d\u0430 DevOops 2019 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/uskoryaem-internet-zaprosy-i-spim-spokojno\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0423\u0441\u043a\u043e\u0440\u044f\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u0441\u043f\u0438\u043c \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"Netflix \u2014 \u043b\u0438\u0434\u0435\u0440 \u0440\u044b\u043d\u043a\u0430 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u0442\u0435\u043b\u0435\u0432\u0438\u0434\u0435\u043d\u0438\u044f \u2014 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f, \u0441\u043e\u0437\u0434\u0430\u0432\u0448\u0430\u044f \u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u044d\u0442\u043e\u0442 \u0441\u0435\u0433\u043c\u0435\u043d\u0442. Netflix \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0431\u0448\u0438\u0440\u043d\u044b\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u043c \u043a\u0438\u043d\u043e \u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u043e\u0432, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0441 \u043f\u043e\u0447\u0442\u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0443\u0433\u043e\u043b\u043a\u0430 \u043f\u043b\u0430\u043d\u0435\u0442\u044b \u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441 \u0434\u0438\u0441\u043f\u043b\u0435\u0435\u043c, \u043d\u043e \u0438 \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u0438 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e\u0439 \u043a\u0443\u043b\u044c\u0442\u0443\u0440\u043e\u0439. \u041d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 Netflix \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043d\u0430 DevOops 2019 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/uskoryaem-internet-zaprosy-i-spim-spokojno\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-06-11T11:43:18+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-11T11:43:18+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Kiirendame internetip\u00e4ringuid ja magame rahulikult | ProHoster","description":"Netflix on turuliider internetitelevisioonis \u2014 ettev\u00f5te, mis on loonud ja aktiivselt arendanud seda segmenti. Netflix on tuntud mitte ainult ulatusliku filmide ja sarjade katalooge poolest, mis on saadaval peaaegu igast maailma nurgast ja igast ekraaniga seadmest, vaid ka usaldusv\u00e4\u00e4rse infrastruktuuri ja ainulaadse insenerikultuuri poolest. Selge n\u00e4ite Netflixi l\u00e4henemisest keerukate s\u00fcsteemide arendamisele ja toetamisele esitles DevOops 2019.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/uskoryaem-internet-zaprosy-i-spim-spokojno","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0423\u0441\u043a\u043e\u0440\u044f\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u0441\u043f\u0438\u043c \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e | ProHoster","og:description":"Netflix \u2014 \u043b\u0438\u0434\u0435\u0440 \u0440\u044b\u043d\u043a\u0430 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u0442\u0435\u043b\u0435\u0432\u0438\u0434\u0435\u043d\u0438\u044f \u2014 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f, \u0441\u043e\u0437\u0434\u0430\u0432\u0448\u0430\u044f \u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u044d\u0442\u043e\u0442 \u0441\u0435\u0433\u043c\u0435\u043d\u0442. Netflix \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0431\u0448\u0438\u0440\u043d\u044b\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u043c \u043a\u0438\u043d\u043e \u0438 \u0441\u0435\u0440\u0438\u0430\u043b\u043e\u0432, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0441 \u043f\u043e\u0447\u0442\u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0443\u0433\u043e\u043b\u043a\u0430 \u043f\u043b\u0430\u043d\u0435\u0442\u044b \u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441 \u0434\u0438\u0441\u043f\u043b\u0435\u0435\u043c, \u043d\u043e \u0438 \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u0438 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e\u0439 \u043a\u0443\u043b\u044c\u0442\u0443\u0440\u043e\u0439. \u041d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 Netflix \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043d\u0430 DevOops 2019 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/uskoryaem-internet-zaprosy-i-spim-spokojno","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-06-11T11:43:18+00:00","article:modified_time":"2020-06-11T11:43:18+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"84876","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 14:48:22","updated":"2022-09-27 23:34:06"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/84876","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=84876"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/84876\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/84877"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=84876"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=84876"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=84876"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}