{"id":83188,"date":"2020-05-29T07:43:02","date_gmt":"2020-05-29T05:43:02","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kak-my-perezhili-rezkij-rost-nagruzki-x10-na-udalenke-i-kakie-vyvody-sdelali"},"modified":"2020-05-29T07:43:02","modified_gmt":"2020-05-29T05:43:02","slug":"kak-my-perezhili-rezkij-rost-nagruzki-x10-na-udalenke-i-kakie-vyvody-sdelali","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kak-my-perezhili-rezkij-rost-nagruzki-x10-na-udalenke-i-kakie-vyvody-sdelali","title":{"rendered":"Kuidas me elasime \u00fcle kaugemate t\u00f6\u00f6de j\u00e4rsu koormuse kasvu x10 ja milliseid j\u00e4reldusi tegime.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Tere, Habr! Viimased paar kuud oleme elanud v\u00e4ga huvitavas olukorras ja tahaksin jagada meie infrastruktuuri skaleerimise lugu. Selle aja jooksul on SberMarket tellimustes kasvanud neljakordseks ja k\u00e4ivitanud teenuse 17 uues linnas. Toidu kohaletoimetamise n\u00f5udluse plahvatuslik kasv n\u00f5udis meilt infrastruktuuri skaleerimist. K\u00f5ige huvitavamatest ja kasulikest j\u00e4reldustest loe allpool.<\/p>\n<p><img decoding=\"async\" alt=\"Kuidas me elasime \u00fcle kaugemate t\u00f6\u00f6de j\u00e4rsu koormuse kasvu x10 ja milliseid j\u00e4reldusi tegime.\" src=\"\/wp-content\/uploads\/2020\/05\/5f39f66f5dfd298e55821777dfad427d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nMinu nimi on Dima Bobylev, olen SberMarketi tehniline direktor. Kuna see on meie blogi esimene postitus, \u00fctlen paar s\u00f5na enda ja ettev\u00f5tte kohta. Eelmisel s\u00fcgisel osalesin noorte liidrite konkursil Runetis. Konkursi raames <noindex><a rel=\"nofollow\" href=\"https:\/\/www.facebook.com\/dmitry.bobylev\/posts\/2785495564804338\">kirjutasin v\u00e4ikese loo<\/a><\/noindex> sellest, kuidas me SberMarketis n\u00e4eme sisekultuuri ja l\u00e4henemist teenuse arendamisele. Ja kuigi konkursil v\u00f5ita ei \u00f5nnestunud, s\u00f5nastasin endale p\u00f5hialused IT-\u00f6kos\u00fcsteemi arendamiseks. <\/p>\n<p>Meeskonna juhtimisel on oluline m\u00f5ista ja leida tasakaal selle vahel, mida \u00e4ri vajab, ja iga konkreetse arendaja vajadustega. Praegu kasvab SberMarket aastaga 13 korda, mis m\u00f5jutab toodet, n\u00f5udes pidevat arendustempot ja mahtude suurendamist. Sellegipoolest anname arendajatele piisavalt aega eelanal\u00fc\u00fcsiks ja kvaliteetse koodi kirjutamiseks. Meie loodud l\u00e4henemine aitab mitte ainult t\u00f6\u00f6tava toote loomisel, vaid ka selle edasisel skaleerimisel ja arendamisel. Sellise kasvu tulemusena on SberMarket juba muutunud toidukullerite teenuste liidriks: toimetame igap\u00e4evaselt umbes 18 000 tellimust, samas kui veel aasta alguses oli neid umbes 3500.<\/p>\n<p><img decoding=\"async\" alt=\"Kuidas me elasime \u00fcle kaugemate t\u00f6\u00f6de j\u00e4rsu koormuse kasvu x10 ja milliseid j\u00e4reldusi tegime.\" src=\"\/wp-content\/uploads\/2020\/05\/48e964525f86f368f703dc8149f281b5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Kord palus klient SberMarketi kulleril toidud toimetada kontaktivabalt \u2014 otse r\u00f5dule.<\/i><\/p>\n<p>Kuid liigume konkreetsete asjade juurde. Viimased paar kuud oleme aktiivselt tegelenud meie ettev\u00f5tte infrastruktuuri ulatuse suurendamisega. See vajadus tulenes nii v\u00e4listest kui ka sisemistest teguritest. Samal ajal kui kliendibaas laienes, kasvas \u00fchendatud kaupade arv 90-lt aasta alguses rohkem kui 200-ni mai keskel. Me olime muidugi ette valmistunud, broneerides p\u00f5histruktuuri ja arvutades v\u00e4lja v\u00f5imaluse virtuaalmasinate vertikaalseks ja horisontaalseks ulatuseks, mis asuvad Yandexi pilves. Kuid praktika on n\u00e4idanud: \"K\u00f5ik, mis v\u00f5ib valesti minna, l\u00e4hebki valesti\". Ja t\u00e4na tahan ma jagada k\u00f5ige huvitavamaid olukordi, mis nende n\u00e4dalate jooksul juhtusid. Loodan, et meie kogemus on teile kasulik.<\/p>\n<h3>Slave on t\u00e4ielikult valmis tegevuseks<\/h3>\n<p>\nEelnevalt, enne pandeemia algust, seisisime silmitsi kasvava n\u00f5udlusega meie backend-serverite j\u00e4rele. Kodukullerteenuste tellimise trend hakkas kasvama, ja COVID-19 esimeste isoleerimismeetmete kehtestamisega kasvas koormus dramaatiliselt p\u00e4evast p\u00e4eva. Tekkinud vajadus oli kiiresti v\u00e4hendada p\u00f5hiraamatupidamise master-serverite koormust ja suunata osa lugemisest tehtud p\u00e4ringutest replica-serveritele.<\/p>\n<p>Oliime sellele sammule eelnevalt ette valmistunud ning selleks oli juba k\u00e4ivitatud 2 replica-serverit. Need serverid t\u00f6\u00f6tlesid peamiselt andmevahetuseks partneritega m\u00f5eldud infotoodete genereerimise batch-\u00fclesandeid. Need protsessid genereerisid liigset koormust ja olid t\u00e4iesti \u00f5igustatud, et v\u00f5eti paar kuud varem \u201ev\u00e4lja\u201d.\u00a0<\/p>\n<p>Kuna Slave'is toimus replikatsioon, j\u00e4rgime p\u00f5him\u00f5tet, et rakendused saavad nendega t\u00f6\u00f6tada ainult lugemisre\u017eiimis. H\u00e4daolukorra taastamisplaan n\u00e4gi ette, et katastroofi korral saame lihtsalt mountida Slave Master'i kohale ja suunata k\u00f5ik kirjutamis- ja lugemisettepanekud Slave'ile. Kuid soovisime ka replikate kasutamist anal\u00fc\u00fctika osakonna vajadusteks, seet\u00f5ttu ei olnud serverid t\u00e4ielikult muutunud lugemisre\u017eiimi, vaid igas hostis oli oma kasutajate kogum, kellest m\u00f5ned omasid kirjutamis\u00f5igusi vahepealsete arvutuste tulemuste salvestamiseks.<\/p>\n<p>Teatud koormustasandini piisab meistrist nii kirjutamiseks kui lugemiseks http-p\u00e4ringute t\u00f6\u00f6tlemisel. M\u00e4rtsi keskel, kui Sbermarketi otsus kaug- t\u00f6\u00f6le t\u00e4ielikult \u00fcle minna kehtestati, algas meie RPS-i kiire kasv. \u00dcha rohkem meie kliente l\u00e4ks isoleerimisele v\u00f5i t\u00f6\u00f6tas kodus, mis kajastus koormusn\u00e4itajates.<\/p>\n<p>\u00abMeister\u00bb j\u00f5udlus ei olnud enam piisav, seet\u00f5ttu hakkasime osa k\u00f5ige raskematest lugemisest p\u00e4ringutest replika peale suunama. Kirjutamis p\u00e4ringute suunamiseks meistrisse ja lugemiseks slave'ile kasutasime ruby gem'i \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/thiagopradi\/octopus\">Octopus<\/a><\/noindex>\u00bb. Loodud eraldi kasutaja koos _readonly postfixiga, kellel ei olnud kirjutamis\u00f5igusi. Kuid \u00fche hosti konfiguratsiooni vea t\u00f5ttu l\u00e4ks osa kirjutamis p\u00e4ringutest slave-serverisse kasutajana, kellel olid vastavad \u00f5igused.<\/p>\n<p>Probleem ei ilmnenud kohe, kuna suurenenud koormus t\u00f5i kaasa slave'ide mahaj\u00e4\u00e4must. Andmete ebak\u00f5la avastati hommikul, kui p\u00e4rast \u00f6iseid impordeid ei olnud slave'id meisteriga \u00abj\u00e4rgmised\u00bb. Kirjutasime selle k\u00f5rgele koormusele teenusele endale ja impordile, mis oli seotud uute poodide avamisega. Kuid andmete edastamine mitme tunni viivitususega ei olnud vastuv\u00f5etav ning suunasime protsessid teisele anal\u00fc\u00fctilisele slave'ile, kuna tal olid b<strong>o<\/strong>suuremad ressursid ja ta ei olnud lugemis p\u00e4ringutest koormatud (mida me endale replikatsiooni mahaj\u00e4\u00e4must seletades kinnitasime).<\/p>\n<p>Kui saime selgeks p\u00f5hjus, miks p\u00f5hja slave oli kokku kukkunud, oli anal\u00fc\u00fcs juba sama p\u00f5hjusel t\u00f6\u00f6 l\u00f5petanud. Kuigi meil oli kaks t\u00e4iendavat serverit, kuhu plaanisime koormuse \u00fcle viia, kui meester server peaks eba\u00f5nnestuma, selgus h\u00e4iriva vea t\u00f5ttu, et kriitilise hetke jooksul ei olnud \u00fchtegi serverit saadaval.<\/p>\n<p>Kuna tegime mitte ainult andmebaasi dump'i (tagasiveo aeg oli sel hetkel umbes 5 tundi), vaid ka master-serveri snapshot'i, \u00f5nnestus replikat k\u00e4ivitada kahe tunni jooksul. P\u00e4rast seda ootas meid siiski replikatsiooni logi pealekandmine pikka aega (sest protsess toimub \u00fchesuunaliselt, kuid see on juba hoopis teine lugu).<\/p>\n<blockquote><p><strong>V\u00e4ljund:<\/strong> P\u00e4rast sellist intsidenti oli selge, et peame loobuma kasutajate kirjutamise piiramisest ja kuulutama kogu serveri lugemiseks. Sellise l\u00e4henemisega ei ole kahtlust, et repliikide k\u00e4ttesaadavus kriitiliselt olulistel hetkedel on tagatud.<\/p><\/blockquote>\n<p><\/p>\n<h3>Isegi \u00fche raske p\u00e4ringu optimeerimine v\u00f5ib andmebaasi \"ellu \u00e4ratada\".<\/h3>\n<p>\nKuigi uuendame veebilehe katalooge pidevalt, esitati Slave-serveritele tehtud p\u00e4ringud Master-serverist v\u00e4ikese viivitusega. Aeg, mille jooksul avastasime ja lahendasime probleemi, et \"\u00fcksused kaotasid \u00e4kitselt \u00fchenduse\", \u00fcletas \"ps\u00fchholoogilise piiri\" (selle aja jooksul v\u00f5isid hinnad muutuda ja kliendid oleksid n\u00e4inud aegunud andmeid), mist\u00f5ttu pidime suunama k\u00f5ik p\u00e4ringud peamiselt andmebaasiserverile. Tulemuseks oli, et veebileht t\u00f6\u00f6tas aeglaselt\u2026 aga v\u00e4hemalt t\u00f6\u00f6tas. Ja seni, kuni Slave taastus, ei j\u00e4\u00e4nud meil muud kui optimeerida.\u00a0<\/p>\n<p>Kuni Slave-serverid taastusid, venisid minutid aeglaselt, Master oli \u00fclekoormatud ja panime k\u00f5ik j\u00f5ud aktiivsete \u00fclesannete optimeerimisele vastavalt \u201ePareto printsiibile\u201d: valisime TOP-p\u00e4ringud, mis andsid suure osa koormusest, ja alustasime h\u00e4\u00e4lestamist. Seda tehti otse \u201eliikvel olles\u201d.<\/p>\n<p>Huvitav n\u00e4htus oli see, et \u00fclekoormatud MySQL reageerib isegi tavaliste protsesside v\u00e4ikeste parenduste peale. Paar p\u00e4ringu optimeerimist, mis andsid vaid 5% kogu koormusest, n\u00e4itas juba olulist CPU laadimise v\u00e4hendamist. Selle tulemusena suutsime tagada Masteri t\u00f6\u00f6ks andmebaasis piisava ressursi varu ja saada vajalik taastumisaeg replika jaoks.\u00a0<\/p>\n<blockquote><p><strong>V\u00e4ljund:<\/strong> Isegi v\u00e4ike optimeerimine v\u00f5imaldab \u201eellu j\u00e4\u00e4da\u201d koormuse all mitu tundi. Just seda meil oli piisavalt serverite replika taastumise ajaks. Muide, p\u00e4ringute optimeerimise tehnilist k\u00fclge arutame \u00fches j\u00e4rgmistest postitustest. Nii et j\u00e4lgige meie blogi, kui see teile kasulikuks osutub.<\/p><\/blockquote>\n<p><\/p>\n<h3>Korrastage partnerite teenuste t\u00f6\u00f6v\u00f5ime j\u00e4lgimine<\/h3>\n<p>\nKliendi tellimuste t\u00f6\u00f6tlemisega tegelemise t\u00f5ttu suhtlevad meie teenused pidevalt kolmandate osapoolte API-dega \u2014 need on SMS-i saatmise v\u00e4ravad, makseplatvormid, marsruutimiss\u00fcsteemid, geokooder, FNS teenus ja paljud teised s\u00fcsteemid. Ja kui koormus hakkas kiiresti kasvama, sattusime partnerite teenuste API-de piirangutesse, mille \u00fcle me varem isegi ei m\u00f5elnud.<\/p>\n<p>Partnerite teenuste kvootide ootamatu \u00fcletamine v\u00f5ib p\u00f5hjustada teie enda s\u00fcsteemi seisakuid. Paljud API-d blokeerivad kliente, kes \u00fcletavad limiite, ja m\u00f5nel juhul v\u00f5ib liigne p\u00e4ringute arv partneri tootmisprotsessi \u00fcle koormata.\u00a0<\/p>\n<p>N\u00e4iteks, kui kohaletoimetamiste arv kasvas, ei suutnud saateteenused neid \u00fclesandeid, nagu jaotamine ja marsruutide m\u00e4\u00e4ramine, t\u00e4ita. Tulemusena oli nii, et tellimused olid tehtud, kuid marsruudi loomise teenus ei t\u00f6\u00f6tanud. Tuleb \u00f6elda, et meie logistika spetsialistid tegid sellistes tingimustes peaaegu impossibli; meeskonna t\u00e4pne koost\u00f6\u00f6 aitas ajutisi teenuste katkestusi tasakaalustada. Kuid sellist tellimuste mahtu ei ole konstantsete k\u00e4sitsi t\u00f6\u00f6tlemisega v\u00f5imalik pidevalt hallata, ja varsti oleksime silmitsi vastuv\u00f5etamatu l\u00f5hega tellimuste ja nende t\u00e4itmise vahel.\u00a0<\/p>\n<p>Tegime mitmeid organisatsioonilisi samme ja meeskonna sujuv koost\u00f6\u00f6 aitas meil aega v\u00f5ita, kuni leppisime kokku uutel tingimustel ja ootasime m\u00f5nedelt partneritelt teenuste uuendamist. On ka teisi API-sid, mis paistavad silma k\u00f5rge vastupidavuse ja talumatute hindadega k\u00f5rge liikluse korral. N\u00e4iteks kasutasime alguses \u00fchte tuntud kaardistamis-API-d, et m\u00e4\u00e4rata kohaletoimetamise punkti aadress. Kuid kuu l\u00f5puks saime \u00fcsna soliidse arve peaaegu 2 miljoni rubla ulatuses. P\u00e4rast seda otsustasime selle kiiresti v\u00e4lja vahetada. Ma ei hakka reklaamima, aga v\u00f5in \u00f6elda, et meie kulud on m\u00e4rgatavalt v\u00e4henenud. <br \/>\n<img decoding=\"async\" alt=\"Kuidas me elasime \u00fcle kaugemate t\u00f6\u00f6de j\u00e4rsu koormuse kasvu x10 ja milliseid j\u00e4reldusi tegime.\" src=\"\/wp-content\/uploads\/2020\/05\/17f821051ec5fe2786e1b29cc2b057f9.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<blockquote><p><strong>V\u00e4ljund: <\/strong>On v\u00e4ga oluline j\u00e4lgida k\u00f5igi partnerite teenuste t\u00f6\u00f6tingimusi ja neid meeles pidada. Isegi kui t\u00e4na tundub, et need on teile \u201esuure varuga\u201d, ei t\u00e4henda see, et nad ei saa homme kasvu takistuseks. Ja muidugi on parem eelnevalt kokku leppida teenuse suurenenud n\u00f5udmiste rahalistes tingimustes.\u00a0<\/p><\/blockquote>\n<p><\/p>\n<h3>M\u00f5nikord selgub, et \u201e<noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=KWPjQiwz-cM\">on vaja rohkem kulda<\/a><\/noindex>\u201d (c) ei aita<\/h3>\n<p>\nOleme harjunud \u201eummikute\u201c esinemisega peamises andmebaasis v\u00f5i rakendusserverites, kuid skaleerimise ajal v\u00f5ivad probleemid ilmuda seal, kus neid ei oodata. T\u00e4isteksti otsingu jaoks kasutame Apache Solr mootorit. Koormuse suurenedes oleme m\u00e4rganud vastuseaja v\u00e4henemist, samas kui serveri protsessori koormus j\u00f5udis 100%-ni. Mis v\u00f5iks olla lihtsam \u2014 anname Solr konteinerile rohkem ressursse.<\/p>\n<p>Oodatud tootlikuse kasvupiiri asemel server lihtsalt \u201esurus \u00e4ra\u201c. See laadis kohe 100% ja vastas veel aeglasemalt. Alguses oli meil 2 tuuma ja 2 GB RAM-i. Otsustasime teha seda, mis tavaliselt aitab \u2014 andsime serverile 8 tuuma ja 32 GB. K\u00f5ik muutus palju halvemaks (kuidas t\u00e4pselt ja miks \u2014 sellest r\u00e4\u00e4gime eraldi postituses).\u00a0<\/p>\n<p>M\u00f5ne p\u00e4eva jooksul saime aru selle k\u00fcsimuse keerukusest ning saavutasime optimaalse tootlikkuse 8 tuuma ja 32 GB korral. See konfiguratsioon v\u00f5imaldab ka t\u00e4na koormust j\u00e4tkuvalt suurendada, mis on v\u00e4ga oluline, sest kasv toimub mitte ainult klientide, vaid ka \u00fchendatud poodide arvu osas \u2014 kahe kuuga suurenenud arv on kaks korda.\u00a0<\/p>\n<blockquote><p><strong>V\u00e4ljund: <\/strong>Tavalised meetodid nagu \"veel riistvara lisamine\" ei t\u00f6\u00f6ta alati. Seega, teenuse skaleerimisel on oluline aru saada, kui h\u00e4sti see ressursse kasutab ja testida seda ettevalmistavas faasis uutes tingimustes.\u00a0\n<\/p><\/blockquote>\n<p><\/p>\n<h3>Stateless \u2014 lihtsa horisontaalse skaleerimise v\u00f5ti<\/h3>\n<p>\n\u00dcldiselt j\u00e4rgib meie meeskond tuntud l\u00e4henemist: teenused ei peaks omama sisemist olekut (stateless) ja peaksid olema s\u00f5ltumatud k\u00e4ituskeskkonnast. See on v\u00f5imaldanud meil taluda koormuse kasvu lihtsa horisontaalse skaleerimise abil. Kuid meil oli \u00fcks erand \u2014 pikaajaliste taustateenuste t\u00f6\u00f6tleja. See tegeles e-kirjade ja SMS-ide saatmise, s\u00fcndmuste t\u00f6\u00f6tlemise, voogude genereerimise, hindade ja varude importimise, piltide t\u00f6\u00f6tlemisega. Tekkis olukord, kus see s\u00f5ltus kohalikust failide salvestamisest ja oli ainus eksemplar.\u00a0<\/p>\n<p>Kuna \u00fclesannete arv j\u00e4rjekorras t\u00f6\u00f6tlejat (mis loomulikult juhtus koos tellimuste arvu kasvuga) kasvas, muutus host, millel t\u00f6\u00f6tleja ja failide salvestamine asusid, piiravaks teguriks. Selle tulemusena peatus valikute ja hindade uuendamine, kasutajatele teavituste saatmine ja palju muid kriitilisi funktsioone, mis j\u00e4id j\u00e4rjekorda kinni. Ops meeskond viis kiiresti failide salvestamise S3-sarnasesse v\u00f5rgu salvestusse ja see v\u00f5imaldas meil t\u00f5sta mitmeid v\u00f5imsaid masinaid, et laiendada taustat\u00f6\u00f6tluse s\u00fcsteemi.<\/p>\n<blockquote><p><strong>V\u00e4ljund: <\/strong>Stateless reeglit tuleb j\u00e4rgida k\u00f5igi komponentide puhul ilma eranditeta, isegi kui tundub, et siin me kindlasti ei j\u00e4\u00e4 kinni. Olulisem on kulutada veidi aega s\u00fcsteemide t\u00f6\u00f6 \u00f5igele korraldamisele, kui hiljem kiiruselt koodi \u00fcmber kirjutada ja parandada teenust, mis kogeb \u00fclekoormust.<\/p><\/blockquote>\n<p><\/p>\n<h2>7 p\u00f5him\u00f5tet intensiivseks kasvuks<\/h2>\n<p>\nHoolimata t\u00e4iendavate ressursside olemasolust oleme kasvu k\u00e4igus kokkup\u00f5rganud mitmete probleemidega. Selle aja jooksul on tellimuste arv kasvanud rohkem kui neli korda. Praegu toimetame juba rohkem kui 17 000 tellimust p\u00e4evas 62 linnas ning plaanime oma tegevust veelgi laiendada \u2014 2020. aasta esimeses pooles on plaanis teenuse k\u00e4ivitamine kogu Venemaal. Selleks, et hakkama saada kasvava koormusega, arvestades juba saadud kogemusi, oleme v\u00e4lja t\u00f6\u00f6tanud 7 p\u00f5hieesm\u00e4rki pideva kasvu tingimustes:<\/p>\n<ol>\n<li><strong>Juhtimine<\/strong>. Oleme loonud Jira-sse tahvli, kus iga juhtum peegeldub pileti n\u00e4ol. See aitab t\u00f5eliselt prioriseerida ja tegeleda juhtu puudutavate \u00fclesannetega. Sest sisuliselt ei ole hirmus eksida \u2014 hirmus on eksida kaks korda sama asja p\u00e4rast. Nende juhtumite puhul, kus probleemid korduvad kiiremini, kui suudame p\u00f5hjusest vabaneda, peaks olema valmis tegevusjuhend, sest suurte koormuste ajal on oluline reageerida viivitamatult.<\/li>\n<li><strong>J\u00e4lgimine <\/strong>see all sides of the infrastructure. Thanks to this, we were able to forecast the growth of load and correctly identify the bottlenecks to prioritize their resolution. Most likely, under heavy load, everything you didn't expect will break or start lagging. Therefore, it's best to create new alerts right after the first incidents occur, to monitor and anticipate them.<\/li>\n<li><strong>Correct alerts<\/strong> are essential during a sudden increase in load. Firstly, they must report exactly what has broken. Secondly, there shouldn't be too many alerts, as an abundance of non-critical alerts leads to the ignoring of all notifications altogether.<\/li>\n<li><strong>Applications must be stateless. <\/strong>We have confirmed that there should be no exceptions to this rule. Complete independence from the runtime environment is necessary. For this, you can store shared data in a database or, for example, directly in S3. Even better is to follow the rules.<noindex><a rel=\"nofollow\" href=\"https:\/\/12factor.net\/ru\/\"> https:\/\/12factor.net<\/a><\/noindex>. \u00c4kilise kasvu korral pole aega koodi optimeerida ja koormuse eest tuleb hoolitseda lihtsalt arvutusressursside otsese suurendamise ja horisontaalse skaleerimise abil.<\/li>\n<li><strong>V\u00e4liste teenuste kvotid ja j\u00f5udlus. <\/strong>Kiire kasvu korral v\u00f5ib probleem tekkida mitte ainult teie infrastruktuuris, vaid ka v\u00e4lises teenuses. K\u00f5ige masendavam on see, kui see juhtub mitte rikke t\u00f5ttu, vaid kvotide v\u00f5i piiride saavutamise t\u00f5ttu. Seega peavad ka v\u00e4lised teenused skaleeruma sama h\u00e4sti nagu teie ise.\u00a0<\/li>\n<li><strong>Jagage protsesse ja j\u00e4rjekordi. <\/strong>See aitab v\u00e4ga palju, kui \u00fches v\u00e4ravas tekib ummik. Me ei oleks andmeedastuses viivitustega silmitsi, kui SMS-ide saatmise t\u00e4isj\u00e4rjekorrad ei segaks teavituste vahetust infos\u00fcsteemide vahel. Jah, ja t\u00f6\u00f6tajate arvu oleks lihtsam suurendada, kui nad t\u00f6\u00f6taksid eraldi.<\/li>\n<li><strong>Finantsreaalsused.<\/strong> Kui andmete voogude plahvatuslik kasv toimub, pole aega hinnaplaanide ja tellimuste \u00fcle j\u00e4rele m\u00f5elda. Kuid neid tuleb meeles pidada, eriti kui olete v\u00e4ike ettev\u00f5te. Suure arve v\u00f5ib esitada iga API omanik, samuti teie hostimise teenusepakkuja. Seega tuleb lepingud hoolikalt l\u00e4bi lugeda.<\/li>\n<\/ol>\n<p><\/p>\n<h2>Kokkuv\u00f5te<\/h2>\n<p>\nKuigi kaotusi oli, oleme sellest etapis \u00fcle saanud ja t\u00e4na p\u00fc\u00fcame j\u00e4rgiselt k\u00f5iki leitud p\u00f5him\u00f5tteid, kusjuures iga masin on suuteline lihtsaks j\u00f5udluse neljakordseks suurendamiseks, et toime tulla ootamatustega.\u00a0<\/p>\n<p>J\u00e4rgnevates postitustes jagame oma kogemusi Apache Solri j\u00f5udluse languse uurimisel, r\u00e4\u00e4gime p\u00e4ringute optimeerimisest ning sellest, kuidas suhe FNS-iga aitab ettev\u00f5ttel raha s\u00e4\u00e4sta. Liituge meie blogiga, et mitte midagi vahele j\u00e4tta, ja kirjutage kommentaaridesse, kas teil on olnud sarnaseid probleeme liikluse kasvamisel.<\/p>\n<p><img decoding=\"async\" alt=\"Kuidas me elasime \u00fcle kaugemate t\u00f6\u00f6de j\u00e4rsu koormuse kasvu x10 ja milliseid j\u00e4reldusi tegime.\" src=\"\/wp-content\/uploads\/2020\/05\/fdc2a770333c6ec1df83cea302c78254.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p class=\"for_users_only_msg\">Ainult registreeritud kasutajad saavad k\u00fcsitluses osaleda. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Logige sisse<\/a><\/noindex>, palun.<\/p>\n<h2 class=\"default-block__polling-title\">Kas teil on olnud teenuse aeglustumist v\u00f5i langemist j\u00e4rsu koormuse suurenemise t\u00f5ttu:<\/h2>\n<ul class=\"poll-result\">\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">55,6%<\/strong>V\u00f5imetus kiiresti arvutusressursse lisada<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">16,7%<\/strong>Hostimise teenusepakkuja infrastruktuuri piirangud<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">33,3%<\/strong>Kolmandate osapoolte API piirangud<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">27,8%<\/strong>Stateless-printsiipide rikkumine oma rakendustes<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent  poll-result__data-percent_winner\">88,9%<\/strong>Koodi mitteoptimaalsus oma teenustes<\/p>\n<\/li>\n<\/ul>\n<p>    H\u00e4\u00e4letas 18 kasutajat. 6 kasutajat j\u00e4i erapooletuks.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sbermarket\/blog\/504224\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043f\u0430\u0440\u0443 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u043c\u044b \u043f\u0440\u043e\u0436\u0438\u043b\u0438 \u0432 \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u0438 \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043d\u0430\u0448\u0435\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0435\u0439 \u0441\u043a\u0435\u0439\u043b\u0438\u043d\u0433\u0430 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b. \u0417\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0421\u0431\u0435\u0440\u041c\u0430\u0440\u043a\u0435\u0442 \u0432\u044b\u0440\u043e\u0441 \u0432 \u0437\u0430\u043a\u0430\u0437\u0430\u0445 \u0432 4 \u0440\u0430\u0437\u0430 \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b \u0441\u0435\u0440\u0432\u0438\u0441 \u0432 17 \u043d\u043e\u0432\u044b\u0445 \u0433\u043e\u0440\u043e\u0434\u0430\u0445. \u0412\u0437\u0440\u044b\u0432\u043d\u043e\u0439 \u0440\u043e\u0441\u0442 \u0441\u043f\u0440\u043e\u0441\u0430 \u043d\u0430 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0443 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b \u043e\u0442 \u043d\u0430\u0441 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b. \u041e \u0441\u0430\u043c\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0432\u044b\u0432\u043e\u0434\u0430\u0445 \u0447\u0438\u0442\u0430\u0439\u0442\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":83189,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-83188","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=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043f\u0430\u0440\u0443 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u043c\u044b \u043f\u0440\u043e\u0436\u0438\u043b\u0438 \u0432 \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u0438 \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043d\u0430\u0448\u0435\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0435\u0439 \u0441\u043a\u0435\u0439\u043b\u0438\u043d\u0433\u0430 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b. \u0417\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0421\u0431\u0435\u0440\u041c\u0430\u0440\u043a\u0435\u0442 \u0432\u044b\u0440\u043e\u0441 \u0432 \u0437\u0430\u043a\u0430\u0437\u0430\u0445 \u0432 4 \u0440\u0430\u0437\u0430 \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b \u0441\u0435\u0440\u0432\u0438\u0441 \u0432 17 \u043d\u043e\u0432\u044b\u0445 \u0433\u043e\u0440\u043e\u0434\u0430\u0445. \u0412\u0437\u0440\u044b\u0432\u043d\u043e\u0439 \u0440\u043e\u0441\u0442 \u0441\u043f\u0440\u043e\u0441\u0430 \u043d\u0430 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0443 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b \u043e\u0442 \u043d\u0430\u0441 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b. \u041e \u0441\u0430\u043c\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0432\u044b\u0432\u043e\u0434\u0430\u0445 \u0447\u0438\u0442\u0430\u0439\u0442\u0435\" \/>\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\/kak-my-perezhili-rezkij-rost-nagruzki-x10-na-udalenke-i-kakie-vyvody-sdelali\" \/>\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\u041a\u0430\u043a \u043c\u044b \u043f\u0435\u0440\u0435\u0436\u0438\u043b\u0438 \u0440\u0435\u0437\u043a\u0438\u0439 \u0440\u043e\u0441\u0442 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 x10 \u043d\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u043a\u0435 \u0438 \u043a\u0430\u043a\u0438\u0435 \u0432\u044b\u0432\u043e\u0434\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043f\u0430\u0440\u0443 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u043c\u044b \u043f\u0440\u043e\u0436\u0438\u043b\u0438 \u0432 \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u0438 \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043d\u0430\u0448\u0435\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0435\u0439 \u0441\u043a\u0435\u0439\u043b\u0438\u043d\u0433\u0430 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b. \u0417\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0421\u0431\u0435\u0440\u041c\u0430\u0440\u043a\u0435\u0442 \u0432\u044b\u0440\u043e\u0441 \u0432 \u0437\u0430\u043a\u0430\u0437\u0430\u0445 \u0432 4 \u0440\u0430\u0437\u0430 \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b \u0441\u0435\u0440\u0432\u0438\u0441 \u0432 17 \u043d\u043e\u0432\u044b\u0445 \u0433\u043e\u0440\u043e\u0434\u0430\u0445. \u0412\u0437\u0440\u044b\u0432\u043d\u043e\u0439 \u0440\u043e\u0441\u0442 \u0441\u043f\u0440\u043e\u0441\u0430 \u043d\u0430 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0443 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b \u043e\u0442 \u043d\u0430\u0441 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b. \u041e \u0441\u0430\u043c\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0432\u044b\u0432\u043e\u0434\u0430\u0445 \u0447\u0438\u0442\u0430\u0439\u0442\u0435\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kak-my-perezhili-rezkij-rost-nagruzki-x10-na-udalenke-i-kakie-vyvody-sdelali\" \/>\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-05-29T05:43:02+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-29T05:43:02+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\udd47Kuidas me ellu j\u00e4ime, kui koormus kasvas x10 kodukontoris ja milliseid j\u00e4reldusi tegime | ProHoster","description":"Tere, Habr! Viimased paar kuud oleme elanud v\u00e4ga huvitavas olukorras ja tahaksin jagada meie infrastruktuuri skaleerimise lugu. Selle aja jooksul kasvas SberMarket tellimustes 4 korda ja k\u00e4ivitas teenuse 17 uues linnas. Toidukaupade kohaletoimetamise n\u00f5udluse plahvatuslik kasv n\u00f5udis meilt infrastruktuuri skaleerimist. Loe k\u00f5ige huvitavamaid ja kasulikumaid j\u00e4reldusi","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kak-my-perezhili-rezkij-rost-nagruzki-x10-na-udalenke-i-kakie-vyvody-sdelali","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\u041a\u0430\u043a \u043c\u044b \u043f\u0435\u0440\u0435\u0436\u0438\u043b\u0438 \u0440\u0435\u0437\u043a\u0438\u0439 \u0440\u043e\u0441\u0442 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 x10 \u043d\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u043a\u0435 \u0438 \u043a\u0430\u043a\u0438\u0435 \u0432\u044b\u0432\u043e\u0434\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043f\u0430\u0440\u0443 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u043c\u044b \u043f\u0440\u043e\u0436\u0438\u043b\u0438 \u0432 \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u0438 \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043d\u0430\u0448\u0435\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0435\u0439 \u0441\u043a\u0435\u0439\u043b\u0438\u043d\u0433\u0430 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b. \u0417\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0421\u0431\u0435\u0440\u041c\u0430\u0440\u043a\u0435\u0442 \u0432\u044b\u0440\u043e\u0441 \u0432 \u0437\u0430\u043a\u0430\u0437\u0430\u0445 \u0432 4 \u0440\u0430\u0437\u0430 \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b \u0441\u0435\u0440\u0432\u0438\u0441 \u0432 17 \u043d\u043e\u0432\u044b\u0445 \u0433\u043e\u0440\u043e\u0434\u0430\u0445. \u0412\u0437\u0440\u044b\u0432\u043d\u043e\u0439 \u0440\u043e\u0441\u0442 \u0441\u043f\u0440\u043e\u0441\u0430 \u043d\u0430 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0443 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b \u043e\u0442 \u043d\u0430\u0441 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b. \u041e \u0441\u0430\u043c\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0432\u044b\u0432\u043e\u0434\u0430\u0445 \u0447\u0438\u0442\u0430\u0439\u0442\u0435","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kak-my-perezhili-rezkij-rost-nagruzki-x10-na-udalenke-i-kakie-vyvody-sdelali","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-05-29T05:43:02+00:00","article:modified_time":"2020-05-29T05:43:02+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"83188","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 15:23:30","updated":"2022-10-05 13:38:04"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/83188","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=83188"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/83188\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/83189"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=83188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=83188"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=83188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}