Sveiks, Habr! PÄdÄjo pÄris mÄneÅ”u laikÄ esam piedzÄ«vojuÅ”i ļoti interesantu situÄciju, un es vÄlÄtos padalÄ«ties ar mÅ«su infrastruktÅ«ras paplaÅ”inÄÅ”anas stÄstu. Å ajÄ laikÄ SberMarket pasÅ«tÄ«jumi ÄetrkÄrÅ”ojÄs, un mÄs ieviesÄm pakalpojumu 17 jaunÄs pilsÄtÄs. PÄrtikas preÄu piegÄdes pieprasÄ«juma straujais pieaugums lika mums paplaÅ”inÄt savu infrastruktÅ«ru. Lasiet tÄlÄk, lai uzzinÄtu par interesantÄkajiem un noderÄ«gÄkajiem atklÄjumiem.

Mani sauc Dima Bobilevs, un esmu SberMarket tehniskais direktors. TÄ kÄ Å”is ir pirmais ieraksts mÅ«su emuÄrÄ, pastÄstīŔu dažus vÄrdus par sevi un uzÅÄmumu. PagÄjuÅ”ajÄ rudenÄ« piedalÄ«jos Jauno RuNet lÄ«deru konkursÄ. Konkursam es Es apspriedu, kÄ mÄs SberMarket uztveram savu iekÅ”Äjo kultÅ«ru un pieeju pakalpojumu attÄ«stÄ«bai. Lai gan es neuzvarÄju konkursÄ, es izstrÄdÄju galvenos principus IT ekosistÄmas attÄ«stÄ«bai.
Vadot komandu, ir svarÄ«gi izprast un lÄ«dzsvarot uzÅÄmuma vajadzÄ«bas ar katra izstrÄdÄtÄja individuÄlajÄm vajadzÄ«bÄm. SberMarket paÅ”laik aug 13 reizes salÄ«dzinÄjumÄ ar iepriekÅ”Äjo gadu, un tas ietekmÄ produktu, pieprasot pastÄvÄ«gu izstrÄdes apjoma un tempa palielinÄÅ”anu. Neskatoties uz to, mÄs veltÄm pietiekami daudz laika izstrÄdÄtÄjiem sÄkotnÄjai analÄ«zei un augstas kvalitÄtes koda rakstīŔanai. Å Ä« iedibinÄtÄ pieeja palÄ«dz ne tikai izveidot funkcionÄjoÅ”u produktu, bet arÄ« to turpmÄkajÄ mÄrogoÅ”anÄ un attÄ«stÄ«bÄ. Å Ä«s izaugsmes rezultÄtÄ SberMarket jau ir kļuvis par lÄ«deri pÄrtikas preÄu piegÄdes pakalpojumu jomÄ: mÄs katru dienu piegÄdÄjam aptuveni 18 000 pasÅ«tÄ«jumu, salÄ«dzinot ar aptuveni 3500 februÄra sÄkumÄ.

KÄdu dienu kÄds klients lÅ«dza SberMarket kurjeram piegÄdÄt viÅa pÄrtikas preces bezkontakta veidÄ ā tieÅ”i uz viÅa balkona.
Bet pievÄrsÄ«simies konkrÄtÄ«bai. PÄdÄjo mÄneÅ”u laikÄ mÄs esam aktÄ«vi paplaÅ”inÄjuÅ”i mÅ«su uzÅÄmuma infrastruktÅ«ru. Å o nepiecieÅ”amÄ«bu noteica gan ÄrÄji, gan iekÅ”Äji faktori. LÄ«dz ar mÅ«su klientu bÄzes paplaÅ”inÄÅ”anos, pieslÄgto veikalu skaits pieauga no 90 gada sÄkumÄ lÄ«dz vairÄk nekÄ 200 lÄ«dz maija vidum. Protams, mÄs bijÄm sagatavojuÅ”ies, dublÄjot pamata infrastruktÅ«ru un paļaujoties uz iespÄju palielinÄt un samazinÄt visu Yandex mÄkonÄ« mitinÄto virtuÄlo maŔīnu skaitu. TomÄr pieredze rÄda, ka "viss, kas var noiet greizi, noies greizi". Å odien es vÄlÄtos dalÄ«ties ar dažÄm no interesantÄkajÄm situÄcijÄm, kas raduÅ”Äs pÄdÄjo nedÄļu laikÄ. Ceru, ka mÅ«su pieredze jums bÅ«s noderÄ«ga.
Vergs ir pilnÄ kaujas gatavÄ«bÄ
Pat pirms pandÄmijas mÄs piedzÄ«vojÄm pieprasÄ«jumu skaita pieaugumu mÅ«su serveros. PÄrtikas preÄu pasÅ«tīŔanas tendence ar piegÄdi mÄjÄs ieguva apgriezienus, un lÄ«dz ar pirmo COVID-19 ierobežojumu ievieÅ”anu slodze dienas laikÄ ievÄrojami palielinÄjÄs. RadÄs nepiecieÅ”amÄ«ba Ätri samazinÄt primÄrÄs datubÄzes galveno serveru slodzi un pÄrvietot dažus lasīŔanas pieprasÄ«jumus uz replikas serveriem (pakÄrtotajiem serveriem).
MÄs Å”im solim bijÄm gatavojuÅ”ies jau iepriekÅ”, un Å”im manevram jau bija palaisti divi pakÄrtoti serveri. Tie galvenokÄrt veica pakeÅ”uzdevumus, Ä£enerÄjot informÄcijas plÅ«smas datu apmaiÅai ar partneriem. Å ie procesi radÄ«ja nevajadzÄ«gu darba slodzi un pamatoti tika atlikti pÄris mÄneÅ”us iepriekÅ”.
TÄ kÄ replikÄcija notika pakÄrtotajÄ serverÄ« (Slave), mÄs pieturÄjÄmies pie koncepcijas, ka lietojumprogrammas var strÄdÄt ar tiem tikai lasīŔanas režīmÄ. Katastrofu atkopÅ”anas plÄns pieÅÄma, ka katastrofas gadÄ«jumÄ mÄs varam vienkÄrÅ”i uzstÄdÄ«t pakÄrtoto serveri galvenÄ servera vietÄ un visus lasīŔanas un rakstīŔanas pieprasÄ«jumus pÄrslÄgt uz pakÄrtoto serveri. TomÄr mÄs vÄlÄjÄmies izmantot replikas arÄ« analÄ«tikas nodaļai, tÄpÄc serveri nebija pilnÄ«bÄ iestatÄ«ti tikai lasīŔanas režīmÄ. Katram resursdatoram bija savs lietotÄju kopums, dažiem no kuriem bija rakstīŔanas piekļuve, lai saglabÄtu starpposma aprÄÄ·inu rezultÄtus.
LÄ«dz noteiktam slodzes lÄ«menim mums bija pietiekami daudz resursu gan HTTP pieprasÄ«jumu rakstīŔanai, gan lasīŔanai. Marta vidÅ«, tieÅ”i tad, kad Sbermarket nolÄma pilnÄ«bÄ pÄriet attÄlinÄti, mÄs piedzÄ«vojÄm ievÄrojamu RPS pieaugumu. Arvien vairÄk mÅ«su klientu atradÄs paÅ”izolÄcijÄ vai strÄdÄja no mÄjÄm, kas ietekmÄja mÅ«su slodzes rÄdÄ«tÄjus.
GalvenÄ datora veiktspÄja vairs nebija pietiekama, tÄpÄc mÄs sÄkÄm daļu no smagÄkajiem lasīŔanas pieprasÄ«jumiem novirzÄ«t replikai. Lai caurspÄ«dÄ«gi novirzÄ«tu rakstīŔanas pieprasÄ«jumus uz galveno datoru un lasīŔanas pieprasÄ«jumus uz pakÄrtoto datoru, mÄs izmantojÄm Ruby dÄrgakmeni."MÄs izveidojÄm Ä«paÅ”u lietotÄju ar _readonly pÄcfiksu bez rakstīŔanas atļaujÄm. TomÄr viena no resursdatoru konfigurÄcijas kļūdas dÄļ daži rakstīŔanas pieprasÄ«jumi tika nosÅ«tÄ«ti uz pakÄrtoto serveri ar lietotÄja vÄrdu, kuram bija atbilstoÅ”as āāatļaujas."
ProblÄma neizpaudÄs uzreiz, jo palielinÄtÄ slodze palielinÄja pakÄrtoto ierÄ«Äu aizkavi. Datu neatbilstÄ«ba tika atklÄta no rÄ«ta, kad pÄc importÄÅ”anas nakts laikÄ pakÄrtotajÄm ierÄ«cÄm neizdevÄs "panÄkt" galveno ierÄ«ci. MÄs to attiecinÄjÄm uz lielo slodzi paÅ”am pakalpojumam un importu, kas saistÄ«ts ar jaunu veikalu palaiÅ”anu. TomÄr datu piegÄde ar vairÄku stundu kavÄÅ”anos bija nepieÅemama, tÄpÄc mÄs pÄrslÄdzÄm procesus uz otro analÄ«tisko pakÄrtoto ierÄ«ci, jo tÄ bija...оlielÄki resursi un nebija pÄrslogota ar lasīŔanas pieprasÄ«jumiem (tÄ mÄs sev izskaidrojÄm replikÄcijas aizkaves neesamÄ«bu).
LÄ«dz brÄ«dim, kad mÄs noskaidrojÄm primÄrÄ pakÄrtotÄ servera "nepastÄvÄÅ”anas" iemeslus, analÄ«tiskais serveris jau bija pÄrstÄjis darboties tÄ paÅ”a iemesla dÄļ. Lai gan mums bija divi papildu serveri, uz kuriem plÄnojÄm pÄrsÅ«tÄ«t slodzi galvenÄ servera kļūmes gadÄ«jumÄ, neveiksmÄ«gas kļūdas dÄļ neviens no tiem kritiskajÄ brÄ«dÄ« nebija pieejams.
TaÄu, tÄ kÄ mÄs ne tikai izveidojÄm datubÄzes izgÄztuvi (atjaunoÅ”ana tajÄ brÄ«dÄ« aizÅÄma aptuveni 5 stundas), bet arÄ« izveidojÄm galvenÄ servera momentuzÅÄmumu, mÄs varÄjÄm palaist repliku 2 stundu laikÄ. TomÄr pÄc tam mÄs saskÄrÄmies ar ilgu replikÄcijas žurnÄla uzkrÄÅ”anos (jo process ir vienpavedienu, bet tas ir pavisam cits stÄsts).
SecinÄjums: PÄc Ŕī incidenta kļuva skaidrs, ka mums ir jÄatsakÄs no lietotÄju rakstīŔanas piekļuves ierobežoÅ”anas prakses un jÄpadara viss serveris tikai lasÄms. Å Ä« pieeja nodroÅ”ina, ka replikas bÅ«s pieejamas kritiskos brīžos.
Pat viena sarežģīta vaicÄjuma optimizÄÅ”ana var atdzÄ«vinÄt datubÄzi.
Lai gan mÄs pastÄvÄ«gi atjauninÄjÄm vietnes katalogu, vaicÄjumi, ko sÅ«tÄ«jÄm uz pakÄrtotajiem serveriem, nedaudz atpalika no galvenÄ servera. Laiks, kas mums bija nepiecieÅ”ams, lai atklÄtu un novÄrstu problÄmu ar pakÄrtoto serveru pÄkÅ”Åu darbÄ«bas pÄrtraukÅ”anu, bija ilgÄks nekÄ "psiholoÄ£iskÄ barjera" (Å”ajÄ laikÄ varÄja notikt cenu atjauninÄjumi, un klienti bÅ«tu redzÄjuÅ”i novecojuÅ”us datus), un mÄs bijÄm spiesti pÄrslÄgt visus vaicÄjumus uz galveno datubÄzes serveri. TÄ rezultÄtÄ vietne darbojÄs lÄni... bet vismaz tÄ strÄdÄja. Un, kamÄr pakÄrtotais serveris atjaunojÄs, mums nebija citas izvÄles kÄ vien optimizÄt.
KamÄr pakÄrtotie serveri atkopÄs, minÅ«tes vilkÄs, galvenais serveris joprojÄm bija pÄrslogots, un mÄs visus savus spÄkus koncentrÄjÄm uz aktÄ«vo uzdevumu optimizÄÅ”anu saskaÅÄ ar Pareto principu: mÄs atlasÄ«jÄm galvenos vaicÄjumus, kas veidoja lielÄko daļu slodzes, un sÄkÄm regulÄÅ”anu. Tas tika darÄ«ts operatÄ«vi.
Interesants rezultÄts bija tas, ka pilnÄ«bÄ ielÄdÄta MySQL instance reaÄ£Äja pat uz nelieliem procesa uzlabojumiem. OptimizÄjot pÄris vaicÄjumus, kas veidoja tikai 5% no kopÄjÄs slodzes, jau bija manÄms centrÄlÄ procesora slodzes samazinÄjums. RezultÄtÄ mÄs varÄjÄm nodroÅ”inÄt pieÅemamu resursu rezervi galvenajai datubÄzei un iegÅ«t nepiecieÅ”amo laiku repliku atjaunoÅ”anai.
SecinÄjums: Pat nelielas optimizÄcijas ļauj mums izturÄt pÄrslodzi vairÄkas stundas. Ar to pietika tieÅ”i tik, lai atjaunotu mÅ«su replikas serverus. Starp citu, vaicÄjumu optimizÄcijas tehniskos aspektus apspriedÄ«sim kÄdÄ no turpmÄkajiem ierakstiem. TÄpÄc abonÄjiet mÅ«su emuÄru, ja Ŕī informÄcija jums noder.
OrganizÄt partneru pakalpojumu veiktspÄjas uzraudzÄ«bu
MÄs apstrÄdÄjam klientu pasÅ«tÄ«jumus, tÄpÄc mÅ«su pakalpojumi pastÄvÄ«gi mijiedarbojas ar treÅ”o puÅ”u API ā SMS vÄrtejÄm, maksÄjumu platformÄm, marÅ”rutÄÅ”anas sistÄmÄm, Ä£eokoderiem, FederÄlo nodokļu dienestu un daudzÄm citÄm sistÄmÄm. Un, kad slodze sÄka strauji pieaugt, mÄs sÄkÄm saskarties ar mÅ«su partneru pakalpojumu API ierobežojumiem, par kuriem iepriekÅ” pat nebijÄm domÄjuÅ”i.
NegaidÄ«ta partneru pakalpojumu kvotu pÄrsniegÅ”ana var izraisÄ«t jÅ«su paÅ”u pakalpojumu dÄ«kstÄvi. Daudzi API bloÄ·Ä klientus, kas pÄrsniedz savus ierobežojumus, un dažos gadÄ«jumos pÄrmÄrÄ«gie pieprasÄ«jumi var pÄrslogot partnera ražoÅ”anas sistÄmu.
PiemÄram, palielinoties piegÄžu apjomam, pavadoÅ”ie pakalpojumi nespÄja tikt galÄ ar to sadali un marÅ”rutu noteikÅ”anu. TÄ rezultÄtÄ pasÅ«tÄ«jumi tika veikti, bet marÅ”rutu izveides pakalpojums nedarbojÄs. JÄsaka, ka mÅ«su loÄ£istikas komanda Å”Ädos apstÄkļos paveica gandrÄ«z neiespÄjamo, un komandas skaidrÄ komunikÄcija palÄ«dzÄja kompensÄt Ä«slaicÄ«gus pakalpojumu pÄrtraukumus. TomÄr Å”Ädu pasÅ«tÄ«jumu apjomu nav iespÄjams nepÄrtraukti apstrÄdÄt manuÄli, un pÄc kÄda laika mÄs saskartos ar nepieÅemamu laika starpÄ«bu starp pasÅ«tÄ«jumiem un to izpildi.
Tika Ä«stenoti vairÄki organizatoriski pasÄkumi, un komandas koordinÄtais darbs palÄ«dzÄja mums iegÅ«t laiku, kamÄr risinÄjÄm sarunas par jauniem noteikumiem un gaidÄ«jÄm, kad daži partneri uzlabos savus pakalpojumus. Ir arÄ« citi API, kas lepojas ar izcilu noturÄ«bu un piedÄvÄ pÄrmÄrÄ«gas cenas lielai datplÅ«smai. PiemÄram, sÄkumÄ piegÄdes punkta adreses noteikÅ”anai mÄs izmantojÄm labi pazÄ«stamu kartÄÅ”anas API. TaÄu mÄneÅ”a beigÄs saÅÄmÄm ievÄrojamu rÄÄ·inu gandrÄ«z 2 miljonu rubļu apmÄrÄ. PÄc tam nolÄmÄm to Ätri nomainÄ«t. NereklÄmÄÅ”u, bet teikÅ”u, ka mÅ«su izmaksas ir ievÄrojami samazinÄjuÅ”Äs.

SecinÄjums: Ir svarÄ«gi sekot lÄ«dzi visu partneru pakalpojumu noteikumiem un nosacÄ«jumiem un paturÄt tos prÄtÄ. Pat ja Å”odien tie Ŕķiet "pÄrÄk dÄrgi", tas nenozÄ«mÄ, ka rÄ«t tie nekļūs par ŔķÄrsli izaugsmei. Un, protams, vislabÄk ir iepriekÅ” vienoties par finanÅ”u nosacÄ«jumiem pieaugoÅ”a pakalpojumu pieprasÄ«juma gadÄ«jumÄ.
Dažreiz izrÄdÄs, ka ""(c) nepalÄ«dz
Esam pieraduÅ”i pie sastrÄgumiem galvenajÄ datubÄzÄ vai lietojumprogrammu serveros, taÄu mÄrogojot problÄmas var rasties tur, kur tÄs vismazÄk gaidÄt. Pilna teksta meklÄÅ”anai mÅ«su vietnÄ izmantojam Apache Solr dzinÄju. Palielinoties slodzei, pamanÄ«jÄm reakcijas laika samazinÄÅ”anos, un servera centrÄlÄ procesora noslodze sasniedza 100%. Kas gan varÄtu bÅ«t vienkÄrÅ”Äk? MÄs vienkÄrÅ”i pieŔķiram Solr konteineram vairÄk resursu.
GaidÄ«tÄ veiktspÄjas palielinÄjuma vietÄ serveris vienkÄrÅ”i nomira. Tas nekavÄjoties ielÄdÄjÄs ar 100% jaudu un reaÄ£Äja vÄl lÄnÄk. SÄkotnÄji mums bija divi kodoli un 2 GB RAM. MÄs nolÄmÄm darÄ«t to, kas parasti darbojas ā uzlabot serveri lÄ«dz astoÅiem kodoliem un 32 GB. Lietas kļuva daudz sliktÄkas (precÄ«zi kÄ un kÄpÄc, mÄs paskaidrosim atseviÅ”Ä·Ä ierakstÄ).
Dažu dienu laikÄ mÄs atrisinÄjÄm Ŕīs problÄmas sarežģījumus un panÄcÄm optimÄlu veiktspÄju ar 8 kodoliem un 32 GB atmiÅu. Å Ä« konfigurÄcija ļauj mums turpinÄt palielinÄt slodzi, kas ir ļoti svarÄ«gi, jo izaugsme notiek ne tikai klientu, bet arÄ« pievienoto veikalu skaita ziÅÄ ā to skaits divu mÄneÅ”u laikÄ ir divkÄrÅ”ojies.
SecinÄjums: Standarta metodes, piemÄram, "papildu aparatÅ«ras pievienoÅ”ana", ne vienmÄr darbojas. TÄpÄc, mÄrogojot jebkuru pakalpojumu, jums ir rÅ«pÄ«gi jÄsaprot, kÄ tas izmanto resursus, un iepriekÅ” jÄpÄrbauda tÄ veiktspÄja jaunos apstÄkļos.
Bezvalstnieku sistÄma ir vienkÄrÅ”as horizontÄlas mÄrogoÅ”anas atslÄga
MÅ«su komanda parasti ievÄro labi zinÄmu pieeju: pakalpojumiem jÄbÅ«t bez statusa un neatkarÄ«giem no izpildlaika vides. Tas ļÄva mums tikt galÄ ar palielinÄtu slodzi, vienkÄrÅ”i horizontÄli mÄrogojot. TomÄr mums bija viens izÅÄmums: ilgstoÅ”i darbojoÅ”s fona uzdevumu apstrÄdÄtÄjs. Tas apstrÄdÄja e-pasta un Ä«sziÅu sÅ«tīŔanu, notikumu apstrÄdi, plÅ«smas Ä£enerÄÅ”anu, cenu un krÄjumu importÄÅ”anu, kÄ arÄ« attÄlu apstrÄdi. SanÄca tÄ, ka tas bija atkarÄ«gs no lokÄlÄs failu krÄtuves un bija viena instance.
Kad apstrÄdes rindÄ esoÅ”o uzdevumu skaits palielinÄjÄs (kas, protams, notika lÄ«dz ar pasÅ«tÄ«jumu skaita pieaugumu), procesoru un failu glabÄtuvi mitinoÅ”Ä resursdatora veiktspÄja kļuva ierobežota. TÄ rezultÄtÄ krÄjumu un cenu atjauninÄjumi, lietotÄju paziÅojumi un daudzas citas kritiski svarÄ«gas funkcijas apstÄjÄs uzkrÄÅ”anÄs dÄļ. OperÄciju komanda Ätri migrÄja failu glabÄtuvi uz S3 lÄ«dzÄ«gu tÄ«kla krÄtuvi, ļaujot mums izvietot vairÄkas jaudÄ«gas iekÄrtas fona apstrÄdes mÄrogoÅ”anai.
SecinÄjums: Noteikums par bezvalstnieku statusu ir jÄievÄro visiem komponentiem bez izÅÄmuma, pat ja Ŕķiet, ka mÄs vienkÄrÅ”i nesasniegsim savu robežu. LabÄk ir veltÄ«t nedaudz laika, lai visas sistÄmas darbotos pareizi, nekÄ steigties ar koda pÄrrakstīŔanu un pÄrslogota pakalpojuma laboÅ”anu.
7 intensīvas izaugsmes principi
Neskatoties uz papildu jaudas pieejamÄ«bu, izaugsmes gaitÄ esam saskÄruÅ”ies ar vairÄkÄm grÅ«tÄ«bÄm. Å ajÄ laikÄ pasÅ«tÄ«jumu skaits ir vairÄk nekÄ ÄetrkÄrÅ”ojies. PaÅ”laik mÄs piegÄdÄjam vairÄk nekÄ 17 000 pasÅ«tÄ«jumu dienÄ 62 pilsÄtÄs un plÄnojam vÄl vairÄk paplaÅ”inÄt savu Ä£eogrÄfisko tvÄrumu ā mÄs plÄnojam uzsÄkt pakalpojuma sniegÅ”anu visÄ KrievijÄ 2020. gada pirmajÄ pusÄ. Lai tiktu galÄ ar pieaugoÅ”o darba slodzi un izaicinÄjumiem, ar kuriem jau esam saskÄruÅ”ies, esam izstrÄdÄjuÅ”i septiÅus galvenos principus mÅ«su darbÄ«bas pÄrvaldÄ«bai pastÄvÄ«gas izaugsmes kontekstÄ:
- Incidentu pÄrvaldÄ«baEsam izveidojuÅ”i Jira dÄli, kurÄ katrs incidents tiek reÄ£istrÄts kÄ pieprasÄ«jums. Tas mums palÄ«dzÄs noteikt prioritÄtes un pabeigt ar incidentu saistÄ«tos uzdevumus. Galu galÄ runa nav par kļūdas pieļauÅ”anu, bet gan par vienas un tÄs paÅ”as kļūdas pieļauÅ”anu divreiz. GadÄ«jumos, kad incidenti atkÄrtojas, pirms var novÄrst pamatcÄloni, mums ir jÄbÅ«t ieviestiem rÄ«cÄ«bas plÄniem, jo āālielas darba slodzes laikÄ ir ļoti svarÄ«gi reaÄ£Ät Ätri.
- UzraudzÄ«ba Tas ir nepiecieÅ”ams visiem infrastruktÅ«ras elementiem bez izÅÄmuma. TieÅ”i pateicoties tam, mÄs spÄjÄm paredzÄt slodzes pieaugumu un pareizi identificÄt vÄjÄs vietas, lai noteiktu prioritÄtes to risinÄÅ”anai. Lielas slodzes apstÄkļos pastÄv liela iespÄja, ka viss, par ko nekad nebijÄt iedomÄjies, sabojÄsies vai palÄninÄsies. TÄpÄc vislabÄk ir izveidot jaunus brÄ«dinÄjumus tÅ«lÄ«t pÄc pirmo incidentu raÅ”anÄs, lai tos uzraudzÄ«tu un paredzÄtu.
- Pareizi brÄ«dinÄjumi Tie ir bÅ«tiski pÄkÅ”Åas slodzes pieauguma gadÄ«jumÄ. PirmkÄrt, tiem skaidri jÄnorÄda, kas ir bojÄts. OtrkÄrt, nevajadzÄtu bÅ«t pÄrÄk daudz brÄ«dinÄjumu, jo pÄrÄk daudz nekritisku brÄ«dinÄjumu noved pie visu paziÅojumu ignorÄÅ”anas.
- Pieteikumiem jÄbÅ«t bez statusa. Esam pÄrliecinÄjuÅ”ies, ka Å”im noteikumam nevajadzÄtu bÅ«t izÅÄmumiem. Ir nepiecieÅ”ama pilnÄ«ga neatkarÄ«ba no izpildlaika vides. Lai to panÄktu, koplietotus datus var glabÄt datubÄzÄ vai, piemÄram, tieÅ”i S3. VÄl labÄk, ievÄrojiet noteikumus.PÄkÅ”Åa laika pieauguma laikÄ vienkÄrÅ”i nav laika optimizÄt kodu, un slodze ir jÄpÄrvalda, tieÅ”i palielinot skaitļoÅ”anas resursus un horizontÄli mÄrogojot.
- ÄrÄjo pakalpojumu kvotas un sniegums. Straujas izaugsmes rezultÄtÄ problÄmas var rasties ne tikai jÅ«su infrastruktÅ«rÄ, bet arÄ« ÄrÄjos pakalpojumos. VisnepatÄ«kamÄk ir tad, ja tas notiek nevis kļūmes dÄļ, bet gan tÄpÄc, ka ir sasniegtas kvotas vai ierobežojumi. TÄpÄc ÄrÄjiem pakalpojumiem ir jÄpaplaÅ”inÄs tikpat labi kÄ jums.
- Atdaliet procesus un rindas. Tas ir ļoti noderÄ«gi, ja kÄdÄ no vÄrtejÄm rodas sastrÄgums. Datu pÄrsÅ«tīŔanas kavÄÅ”anÄs nebÅ«tu radusies, ja pilnas Ä«sziÅu rindas nebÅ«tu traucÄjuÅ”as paziÅojumu apmaiÅu starp informÄcijas sistÄmÄm. TurklÄt darbinieku skaitu bÅ«tu bijis vieglÄk palielinÄt, ja tie darbotos atseviŔķi.
- FinansiÄlÄ realitÄte. Kad datu plÅ«smas strauji pieaug, nav laika uztraukties par tarifiem un abonÄÅ”anas maksÄm. TaÄu tie ir svarÄ«gi paturÄt prÄtÄ, it Ä«paÅ”i, ja esat mazs uzÅÄmums. Jebkura API Ä«paÅ”nieks, kÄ arÄ« jÅ«su mitinÄÅ”anas pakalpojumu sniedzÄjs var jums iekasÄt ievÄrojamu rÄÄ·inu. TÄpÄc rÅ«pÄ«gi izlasiet savus lÄ«gumus.
SecinÄjums
Ne bez zaudÄjumiem, bet mÄs pÄrvarÄjÄm Å”o posmu, un Å”odien mÄs cenÅ”amies ievÄrot visus atklÄtos principus, un katrai maŔīnai ir iespÄja viegli palielinÄt produktivitÄti x4, lai tiktu galÄ ar jebkÄdiem negaidÄ«tiem notikumiem.
TurpmÄkajos ierakstos mÄs dalÄ«simies pieredzÄ, pÄtot veiktspÄjas kritumus Apache Solr, apspriedÄ«sim vaicÄjumu optimizÄciju un to, kÄ sadarbÄ«ba ar FederÄlo nodokļu dienestu palÄ«dz uzÅÄmumam ietaupÄ«t naudu. AbonÄjiet mÅ«su emuÄru, lai bÅ«tu lietas kursÄ, un komentÄros paziÅojiet mums, ja esat saskÄruÅ”ies ar lÄ«dzÄ«gÄm problÄmÄm palielinÄtas datplÅ«smas laikÄ.

AptaujÄ var piedalÄ«ties tikai reÄ£istrÄti lietotÄji. , lÅ«dzu.
Vai esat kÄdreiz saskÄries ar pakalpojuma palÄninÄÅ”anos/samazinÄjumu pÄkÅ”Åas slodzes palielinÄÅ”anÄs dÄļ, ko izraisÄ«jis:
55,6%NespÄja Ätri pievienot skaitļoÅ”anas resursus10
16,7%Hostinga pakalpojumu sniedzÄja infrastruktÅ«ras ierobežojumi3
33,3%TreÅ”Äs puses API ierobežojumi6
27,8%ViÅu pieteikumu bezvalstniecÄ«bas principu pÄrkÄpumi5
88,9%PaÅ”u pakalpojumu koda neoptimalitÄte16
Nobalsoja 18 lietotÄji. 6 lietotÄji atturÄjÄs.
Avots: www.habr.com
