IecienÄ«tÄkais jautÄjums par jebkuru izplatÄ«tu sistÄmu, ko uzdod persona, kas nav tehniska, ir āCik tps ir jÅ«su blokÄ·ÄdÄ?ā TomÄr atbildÄ norÄdÄ«tajam skaitlim parasti ir maz kopÄ«ga ar to, ko jautÄtÄjs vÄlÄtos dzirdÄt. PatiesÄ«bÄ viÅÅ” vÄlÄjÄs jautÄt: āVai jÅ«su blokÄ·Äde atbilst manÄm biznesa prasÄ«bÄmā, un Ŕīs prasÄ«bas nav viens skaitlis, bet gan daudzi nosacÄ«jumi ā Å”eit ir tÄ«kla kļūdu tolerance, galÄ«guma prasÄ«bas, izmÄri, darÄ«jumu veids un daudzi citi parametri. TÄtad atbilde uz jautÄjumu ācik tpsā, visticamÄk, nebÅ«s vienkÄrÅ”a un gandrÄ«z nekad nav pilnÄ«ga. IzkliedÄtÄ sistÄma ar desmitiem vai simtiem mezglu, kas veic diezgan sarežģītus aprÄÄ·inus, var bÅ«t ļoti daudzos dažÄdos stÄvokļos, kas saistÄ«ti ar tÄ«kla stÄvokli, blokÄ·Ädes saturu, tehniskÄm kļūmÄm, ekonomiskÄm problÄmÄm, uzbrukumiem tÄ«klam un daudziem citiem iemesliem. . Posmi, kuros iespÄjamas veiktspÄjas problÄmas, atŔķiras no tradicionÄlajiem pakalpojumiem, un blokÄ·Ädes tÄ«kla serveris ir tÄ«kla pakalpojums, kas apvieno datu bÄzes, tÄ«mekļa servera un torrent klienta funkcionalitÄti, kas padara to ÄrkÄrtÄ«gi sarežģītu visu apakÅ”sistÄmu slodzes profila ziÅÄ. : procesors, atmiÅa, tÄ«kls, krÄtuve
GadÄs, ka decentralizÄtie tÄ«kli un blokÄ·Ädes ir diezgan specifiska un neparasta programmatÅ«ra centralizÄtas programmatÅ«ras izstrÄdÄtÄjiem. TÄpÄc es vÄlÄtos izcelt svarÄ«gus decentralizÄto tÄ«klu darbÄ«bas un ilgtspÄjas aspektus, pieejas to mÄrÄ«Å”anai un vÄjo vietu atraÅ”anai. MÄs apskatÄ«sim dažÄdas veiktspÄjas problÄmas, kas ierobežo pakalpojumu sniegÅ”anas Ätrumu blokÄ·Ädes lietotÄjiem, un atzÄ«mÄsim Å”Äda veida programmatÅ«rai raksturÄ«gÄs funkcijas.
BlokÄ·Ädes klienta pakalpojuma pieprasÄ«juma posmi
Lai godÄ«gi runÄtu par jebkura vairÄk vai mazÄk sarežģīta pakalpojuma kvalitÄti, jÄÅem vÄrÄ ne tikai vidÄjÄs vÄrtÄ«bas, bet arÄ« maksimÄlÄs/minimÄlÄs, mediÄnas, procentiles. TeorÄtiski var runÄt par 1000 tps kÄdÄ blokÄ·ÄdÄ, bet, ja 900 transakcijas tika pabeigtas ar milzÄ«gu Ätrumu un 100 tika āiestrÄguÅ”asā uz dažÄm sekundÄm, tad vidÄjais laiks, kas savÄkts par visiem darÄ«jumiem, nav pilnÄ«gi godÄ«gs rÄdÄ«tÄjs klientam. kuru es nevarÄju pabeigt darÄ«jumu dažu sekunžu laikÄ. ÄŖslaicÄ«gi ācaurumiā, ko izraisa nokavÄti vienprÄtÄ«bas raundi vai tÄ«kla sadalÄ«jumi, var ievÄrojami sabojÄt pakalpojumu, kas uzrÄdÄ«jis izcilu veiktspÄju testa stendos.
Lai identificÄtu Å”Ädas vÄjÄs vietas, ir labi jÄizprot posmi, kuros Ä«stai blokÄ·Ädei var rasties grÅ«tÄ«bas apkalpot lietotÄjus. AprakstÄ«sim darÄ«juma piegÄdes un apstrÄdes ciklu, kÄ arÄ« jauna blokÄ·Ädes stÄvokļa iegÅ«Å”anu, no kura klients var pÄrliecinÄties, ka viÅa darÄ«jums ir apstrÄdÄts un uzskaitÄ«ts.
- darījums tiek veidots uz klientu
- darījums tiek parakstīts uz klienta
- klients izvÄlas vienu no mezgliem un nosÅ«ta tam savu darÄ«jumu
- klients abonÄ mezgla stÄvokļa datu bÄzes atjauninÄjumus, gaidot, kad parÄdÄ«sies tÄ darÄ«juma rezultÄti
- mezgls izplata darījumu pa p2p tīklu
- vairÄki vai viens BP (bloka ražotÄjs) apstrÄdÄ uzkrÄtos darÄ«jumus, aktualizÄjot valsts datubÄzi
- BP veido jaunu bloku pÄc nepiecieÅ”amÄ darÄ«jumu skaita apstrÄdes
- BP izplata jaunu bloku p2p tÄ«klÄ
- jaunais bloks tiek piegÄdÄts mezglÄ, kuram klients piekļūst
- mezgls atjaunina stÄvokļa datu bÄzi
- mezgls redz atjauninÄjumu attiecÄ«bÄ uz klientu un nosÅ«ta viÅam darÄ«juma paziÅojumu
Tagad aplÅ«kosim Å”os posmus tuvÄk un aprakstÄ«sim iespÄjamÄs veiktspÄjas problÄmas katrÄ posmÄ. AtŔķirÄ«bÄ no centralizÄtajÄm sistÄmÄm, mÄs apsvÄrsim arÄ« koda izpildi tÄ«kla klientiem. Diezgan bieži, mÄrot TPS, darÄ«jumu apstrÄdes laiks tiek iekasÄts no mezgliem, nevis no klienta - tas nav gluži godÄ«gi. Klientam ir vienalga, cik Ätri mezgls apstrÄdÄja viÅa darÄ«jumu, viÅam svarÄ«gÄkais ir brÄ«dis, kad viÅam kļūst pieejama uzticama informÄcija par Å”o blokÄ·ÄdÄ iekļauto darÄ«jumu. TieÅ”i Ŕī metrika bÅ«tÄ«bÄ ir darÄ«juma izpildes laiks. Tas nozÄ«mÄ, ka dažÄdi klienti, pat nosÅ«tot vienu un to paÅ”u transakciju, var saÅemt pilnÄ«gi atŔķirÄ«gus laikus, kas ir atkarÄ«gi no kanÄla, mezgla slodzes un tuvuma utt. TÄpÄc ir absolÅ«ti nepiecieÅ”ams izmÄrÄ«t Å”o laiku klientiem, jo āātas ir parametrs, kas ir jÄoptimizÄ.
DarÄ«juma sagatavoÅ”ana klienta pusÄ
SÄksim ar pirmajiem diviem punktiem: darÄ«jumu noformÄ un paraksta klients. SavÄdi, bet tas var bÅ«t arÄ« blokÄ·Ädes veiktspÄjas saÅ”aurinÄjums no klienta viedokļa. Tas ir neparasti centralizÄtajiem dienestiem, kas pÄrÅem visus aprÄÄ·inus un darbÄ«bas ar datiem, un klients vienkÄrÅ”i sagatavo Ä«su pieprasÄ«jumu, kas var pieprasÄ«t lielu datu apjomu vai aprÄÄ·inus, iegÅ«stot gatavu rezultÄtu. BlokÄ·ÄdÄs klienta kods kļūst arvien jaudÄ«gÄks, un blokÄ·Ädes kodols kļūst arvien vieglÄks, un masÄ«vi skaitļoÅ”anas uzdevumi parasti tiek pÄrsÅ«tÄ«ti uz klienta programmatÅ«ru. BlokÄ·ÄdÄs ir klienti, kas vienu darÄ«jumu var sagatavot diezgan ilgu laiku (es runÄju par dažÄdiem merkle pierÄdÄ«jumiem, kodolÄ«giem pierÄdÄ«jumiem, sliekÅ”Åa parakstiem un citÄm sarežģītÄm operÄcijÄm klienta pusÄ). Labs piemÄrs vienkÄrÅ”ai pÄrbaudei Ä·ÄdÄ un smagai darÄ«juma sagatavoÅ”anai ar klientu ir pierÄdÄ«jums dalÄ«bai sarakstÄ, kura pamatÄ ir Merkle-tree, Å”eit
TÄpat neaizmirstiet, ka klienta kods nevis vienkÄrÅ”i nosÅ«ta darÄ«jumus uz blokÄ·Ädi, bet vispirms vaicÄ par blokÄ·Ädes stÄvokli ā un Ŕī darbÄ«ba var ietekmÄt tÄ«kla un blokÄ·Ädes mezglu pÄrslodzi. TÄtad, veicot mÄrÄ«jumus, bÅ«tu saprÄtÄ«gi pÄc iespÄjas pilnÄ«gÄk atdarinÄt klienta koda uzvedÄ«bu. Pat ja jÅ«su blokÄ·ÄdÄ ir parastie vieglie klienti, kuri uz vienkÄrÅ”ÄkÄ darÄ«juma, lai pÄrsÅ«tÄ«tu kÄdu aktÄ«vu, uzliek parastu ciparparakstu, katru gadu joprojÄm tiek veikti masÄ«vÄki klienta aprÄÄ·ini, kripto algoritmi kļūst spÄcÄ«gÄki, un Ŕī apstrÄdes daļa var kļūt par bÅ«tisku saÅ”aurinÄjumu nÄkotnÄ. TÄpÄc esiet uzmanÄ«gi un nepalaidiet garÄm situÄciju, kad darÄ«jumÄ, kas ilgst 3.5s, darÄ«juma sagatavoÅ”anai un parakstÄ«Å”anai tiek tÄrÄti 2.5s, bet nosÅ«tÄ«Å”anai tÄ«klÄ un atbildes gaidÄ«Å”anai 1.0s. Lai novÄrtÄtu Ŕīs vÄjÄs vietas riskus, jums ir jÄapkopo metrika no klientu iekÄrtÄm, nevis tikai no blokÄ·Ädes mezgliem.
DarÄ«juma nosÅ«tÄ«Å”ana un tÄ statusa uzraudzÄ«ba
NÄkamais solis ir nosÅ«tÄ«t transakciju uz izvÄlÄto blokÄ·Ädes mezglu un saÅemt tÄ pieÅemÅ”anas statusu darÄ«jumu pÅ«lÄ. Å is posms ir lÄ«dzÄ«gs parastai piekļuvei datubÄzei; mezglam ir jÄreÄ£istrÄ darÄ«jums pÅ«lÄ un jÄsÄk izplatÄ«t informÄciju par to caur p2p tÄ«klu. Pieeja veiktspÄjas novÄrtÄÅ”anai Å”eit ir lÄ«dzÄ«ga tradicionÄlo Web API mikropakalpojumu veiktspÄjas novÄrtÄÅ”anai, un paÅ”us darÄ«jumus blokÄ·ÄdÄs var atjauninÄt un aktÄ«vi mainÄ«t to statusu. Parasti darÄ«jumu informÄcijas atjauninÄÅ”ana dažÄs blokÄ·ÄdÄs var notikt vairÄkas reizes, piemÄram, pÄrslÄdzoties starp Ä·Ädes dakÅ”Äm vai kad BP paziÅo par nodomu iekļaut darÄ«jumu blokÄ. Å Ä« pÅ«la lieluma un tajÄ veikto darÄ«jumu skaita ierobežojumi var ietekmÄt blokÄ·Ädes veiktspÄju. Ja darÄ«jumu kopums ir piepildÄ«ts lÄ«dz maksimÄlajam iespÄjamajam izmÄram vai neietilpst RAM, tÄ«kla veiktspÄja var strauji samazinÄties. BlokÄ·ÄdÄm nav centralizÄtu lÄ«dzekļu aizsardzÄ«bai pret nevÄlamu ziÅojumu plÅ«diem, un, ja blokÄ·Äde atbalsta liela apjoma darÄ«jumus un zemas maksas, tas var izraisÄ«t darÄ«jumu kopas pÄrplÅ«di ā vÄl vienu potenciÄlu veiktspÄjas vÄjo vietu.
BlokÄ·ÄdÄs klients nosÅ«ta darÄ«jumu uz jebkuru blokÄ·Ädes mezglu, kas viÅam patÄ«k, darÄ«juma hash parasti ir zinÄms klientam pirms nosÅ«tÄ«Å”anas, tÄpÄc viÅam atliek tikai panÄkt savienojumu un pÄc pÄrraides gaidÄ«t, kamÄr blokÄ·Äde mainÄ«sies. tÄ stÄvokli, ļaujot veikt darÄ«jumu. Å emiet vÄrÄ, ka, mÄrot ātpsā, jÅ«s varat iegÅ«t pilnÄ«gi atŔķirÄ«gus rezultÄtus dažÄdÄm savienojuma metodÄm ar blokÄ·Ädes mezglu. Tas var bÅ«t parasts HTTP RPC vai WebSocket, kas ļauj ieviest āabonÄÅ”anasā modeli. OtrajÄ gadÄ«jumÄ klients saÅems paziÅojumu agrÄk, un mezgls tÄrÄs mazÄk resursu (galvenokÄrt atmiÅu un trafiku) atbildÄm par darÄ«juma statusu. TÄpÄc, mÄrot ātpsā, ir jÄÅem vÄrÄ veids, kÄ klienti savienojas ar mezgliem. TÄpÄc, lai novÄrtÄtu Ŕīs vÄjÄs vietas riskus, etalona blokÄ·Ädei ir jÄspÄj emulÄt klientus gan ar WebSocket, gan HTTP RPC pieprasÄ«jumiem, proporcijÄs, kas atbilst reÄlajiem tÄ«kliem, kÄ arÄ« jÄmaina darÄ«jumu raksturs un to apjoms.
Lai novÄrtÄtu Ŕīs vÄjÄs vietas riskus, jums ir jÄapkopo arÄ« metrika no klientu iekÄrtÄm, nevis tikai no blokÄ·Ädes mezgliem.
DarÄ«jumu un bloku pÄrsÅ«tÄ«Å”ana caur p2p tÄ«klu
BlokÄ·ÄdÄs tiek izmantots vienÄdranga (p2p) tÄ«kls, lai pÄrsÅ«tÄ«tu darÄ«jumus un blokus starp dalÄ«bniekiem. DarÄ«jumi izplatÄs visÄ tÄ«klÄ, sÄkot no viena no mezgliem, lÄ«dz tie sasniedz vienÄdranga bloku ražotÄjus, kuri saliek darÄ«jumus blokos un, izmantojot to paÅ”u p2p, izplata jaunus blokus visiem tÄ«kla mezgliem. MÅ«sdienu p2p tÄ«klu pamatÄ ir dažÄdas Kademlia protokola modifikÄcijas.
ÄŖsÄk sakot, katrs lÄ«dzinieks Å”Ädos tÄ«klos uztur savu dinamisko sarakstu ar citiem vienaudžiem, no kuriem tas pieprasa informÄcijas blokus, uz kuriem attiecas saturs. Kad partneris saÅem pieprasÄ«jumu, tas vai nu sniedz nepiecieÅ”amo informÄciju, vai nodod pieprasÄ«jumu nÄkamajam pseidogadÄ«juma partnerim no saraksta un, saÅÄmis atbildi, nodod to pieprasÄ«tÄjam un kÄdu laiku saglabÄ keÅ”atmiÅÄ, sniedzot Å”o informÄcijas bloku nÄkamreiz. TÄdÄjÄdi populÄrÄ informÄcija nonÄk lielÄ skaitÄ liela skaita vienaudžu keÅ”atmiÅas, un nepopulÄrÄ informÄcija pakÄpeniski tiek aizstÄta. VienÄdrangi veic uzskaiti par to, kurÅ” un kam ir nosÅ«tÄ«jis informÄciju, un tÄ«kls mÄÄ£ina stimulÄt aktÄ«vos izplatÄ«tÄjus, paaugstinot viÅu reitingus un nodroÅ”inot viÅiem augstÄku pakalpojumu lÄ«meni, automÄtiski izspiežot neaktÄ«vos dalÄ«bniekus no vienaudžu sarakstiem.
TÄtad darÄ«jums tagad ir jÄizplata visÄ tÄ«klÄ, lai bloku ražotÄji to varÄtu redzÄt un iekļaut blokÄ. Mezgls aktÄ«vi āizplataā jaunu transakciju visiem un klausÄs tÄ«klu, gaidot bloku, kura indeksÄ parÄdÄ«sies vajadzÄ«gais darÄ«jums, lai informÄtu gaidoÅ”o klientu. Laiks, kas nepiecieÅ”ams, lai tÄ«kls pÄrsÅ«tÄ«tu informÄciju par jauniem darÄ«jumiem un blokiem viens otram p2p tÄ«klos, ir atkarÄ«gs no ļoti daudziem faktoriem: tuvumÄ strÄdÄjoÅ”o godÄ«go mezglu skaita (no tÄ«kla viedokļa), āsiltÄ- uz augÅ”uā no Å”o mezglu keÅ”atmiÅÄm, bloku lielumu, transakcijÄm, izmaiÅu raksturu, tÄ«kla Ä£eogrÄfiju, mezglu skaitu un daudziem citiem faktoriem. Kompleksi veiktspÄjas metriku mÄrÄ«jumi Å”Ädos tÄ«klos ir sarežģīts jautÄjums, ir nepiecieÅ”ams vienlaicÄ«gi novÄrtÄt pieprasÄ«jumu apstrÄdes laiku gan klientiem, gan vienÄdrangiem (blokÄ·Ädes mezgliem). ProblÄmas jebkurÄ no p2p mehÄnismiem, nepareiza datu izlikÅ”ana un keÅ”atmiÅa, neefektÄ«va aktÄ«vo vienaudžu sarakstu pÄrvaldÄ«ba un daudzi citi faktori var izraisÄ«t aizkavÄÅ”anos, kas ietekmÄ visa tÄ«kla efektivitÄti kopumÄ, un Å”o vÄjo vietu ir visgrÅ«tÄk analizÄt. , testÄÅ”ana un rezultÄtu interpretÄcija.
BlokÄ·Ädes apstrÄde un stÄvokļa datu bÄzes atjauninÄÅ”ana
BÅ«tiskÄkÄ blokÄ·Ädes daļa ir konsensa algoritms, tÄ pielietoÅ”ana jauniem blokiem, kas saÅemti no tÄ«kla un darÄ«jumu apstrÄde ar rezultÄtu ierakstÄ«Å”anu valsts datu bÄzÄ. Jauna bloka pievienoÅ”anai Ä·Ädei un pÄc tam galvenÄs Ä·Ädes izvÄlei vajadzÄtu darboties pÄc iespÄjas ÄtrÄk. TomÄr reÄlajÄ dzÄ«vÄ "vajadzÄtu" nenozÄ«mÄ "strÄdÄ", un, piemÄram, var iedomÄties situÄciju, kad divas garas konkurÄjoÅ”as Ä·Ädes pastÄvÄ«gi pÄrslÄdzas savÄ starpÄ, mainot tÅ«kstoÅ”iem darÄ«jumu metadatus pÅ«lÄ katrÄ pÄrslÄgÅ”anÄs reizÄ. , un pastÄvÄ«gi atgriežot valsts datubÄzi. Å is posms saÅ”aurinÄjuma noteikÅ”anas ziÅÄ ir vienkÄrÅ”Äks nekÄ p2p tÄ«kla slÄnis, jo darÄ«jumu izpilde un konsensa algoritms ir stingri deterministiski, un Å”eit ir vieglÄk izmÄrÄ«t jebko.
Galvenais ir nesajaukt nejauÅ”u Ŕī posma veiktspÄjas pasliktinÄÅ”anos ar tÄ«kla problÄmÄm - mezgli lÄnÄk piegÄdÄ blokus un informÄciju par galveno Ä·Ädi, un ÄrÄjam klientam tas var izskatÄ«ties kÄ lÄns tÄ«kls, lai gan problÄma ir pavisam cita vieta.
Lai optimizÄtu veiktspÄju Å”ajÄ posmÄ, ir lietderÄ«gi apkopot un pÄrraudzÄ«t metriku no paÅ”iem mezgliem un iekļaut tajos datus, kas saistÄ«ti ar stÄvokļa datu bÄzes atjauninÄÅ”anu: mezglÄ apstrÄdÄto bloku skaits, to lielums, transakciju skaits, slÄdžu skaits starp Ä·Ädes dakÅ”Äm, nederÄ«go bloku skaits, virtuÄlÄs maŔīnas darbÄ«bas laiks, datu izpildes laiks utt. Tas novÄrsÄ«s tÄ«kla problÄmu sajaukÅ”anu ar kļūdÄm Ä·Ädes apstrÄdes algoritmos.
VirtuÄlÄ maŔīna, kas apstrÄdÄ darÄ«jumus, var bÅ«t noderÄ«gs informÄcijas avots, kas var optimizÄt blokÄ·Ädes darbÄ«bu. AtmiÅas pieŔķīrumu skaits, lasÄ«Å”anas/rakstÄ«Å”anas instrukciju skaits un citi rÄdÄ«tÄji, kas saistÄ«ti ar lÄ«guma koda izpildes efektivitÄti, var sniegt izstrÄdÄtÄjiem daudz noderÄ«gas informÄcijas. TajÄ paÅ”Ä laikÄ viedie lÄ«gumi ir programmas, kas teorÄtiski nozÄ«mÄ, ka tÄs var patÄrÄt jebkuru no resursiem: cpu/atmiÅu/tÄ«klu/krÄtuvi, tÄpÄc darÄ«jumu apstrÄde ir diezgan nenoteikts posms, kas turklÄt ļoti mainÄs, pÄrvietojoties starp versijÄm. un mainot lÄ«guma kodus. TÄpÄc, lai efektÄ«vi optimizÄtu blokÄ·Ädes veiktspÄju, ir nepiecieÅ”ami arÄ« rÄdÄ«tÄji, kas saistÄ«ti ar darÄ«jumu apstrÄdi.
Klienta paziÅojuma saÅemÅ”ana par darÄ«juma iekļauÅ”anu blokÄ·ÄdÄ
Å is ir pÄdÄjais posms, kad blokÄ·Ädes klients saÅem pakalpojumu; salÄ«dzinÄjumÄ ar citiem posmiem nav lielu pieskaitÄmu izmaksu, taÄu joprojÄm ir vÄrts apsvÄrt iespÄju klientam saÅemt apjomÄ«gu atbildi no mezgla (piemÄram, viedo lÄ«gumu). datu masÄ«va atgrieÅ”ana). JebkurÄ gadÄ«jumÄ Å”is punkts ir vissvarÄ«gÄkais tam, kurÅ” uzdeva jautÄjumu ācik tps ir jÅ«su blokÄ·ÄdÄ?ā, jo Uz Å”o brÄ«di tiek fiksÄts pakalpojuma saÅemÅ”anas laiks.
Å ajÄ vietÄ vienmÄr tiek nosÅ«tÄ«ts pilns laiks, kas klientam bija jÄpavada, gaidot atbildi no blokÄ·Ädes; tieÅ”i Å”ajÄ laikÄ lietotÄjs gaidÄ«s apstiprinÄjumu savÄ lietojumprogrammÄ, un tÄ ir tÄ optimizÄcija. izstrÄdÄtÄju galvenais uzdevums.
SecinÄjums
RezultÄtÄ mÄs varam aprakstÄ«t blokÄ·Ädes veikto darbÄ«bu veidus un iedalÄ«t tos vairÄkÄs kategorijÄs:
- kriptogrÄfiskÄs transformÄcijas, pierÄdÄ«jumu konstrukcija
- peer-to-peer tÄ«klu, darÄ«jumu un bloku replikÄciju
- darÄ«jumu apstrÄde, viedo lÄ«gumu izpilde
- blokÄ·Ädes izmaiÅu piemÄroÅ”ana valsts datu bÄzei, datu par darÄ«jumiem un blokiem aktualizÄcija
- tikai lasÄmi pieprasÄ«jumi valsts datu bÄzei, blokÄ·Ädes mezgla API, abonÄÅ”anas pakalpojumi
KopumÄ mÅ«sdienu blokÄ·Ädes mezglu tehniskÄs prasÄ«bas ir ÄrkÄrtÄ«gi nopietnas - Ätri CPU kriptogrÄfijai, liels operatÄ«vÄs atmiÅas apjoms, lai saglabÄtu un Ätri piekļūtu stÄvokļa datu bÄzei, tÄ«kla mijiedarbÄ«ba, izmantojot lielu skaitu vienlaikus atvÄrtu savienojumu, un liela krÄtuve. Tik augstas prasÄ«bas un dažÄda veida operÄciju pÄrpilnÄ«ba neizbÄgami noved pie tÄ, ka mezgliem var nepietikt resursu, un tad jebkurÅ” no iepriekÅ” apskatÄ«tajiem posmiem var kļūt par vÄl vienu vÄjo vietu kopÄjÄ tÄ«kla veiktspÄjai.
IzstrÄdÄjot un novÄrtÄjot blokÄ·Äžu veiktspÄju, jums bÅ«s jÄÅem vÄrÄ visi Å”ie punkti. Lai to izdarÄ«tu, vienlaicÄ«gi ir jÄapkopo un jÄanalizÄ metrika no klientiem un tÄ«kla mezgliem, jÄmeklÄ korelÄcijas starp tiem, jÄnovÄrtÄ laiks, kas nepiecieÅ”ams pakalpojumu sniegÅ”anai klientiem, jÄÅem vÄrÄ visi galvenie resursi: cpu/atmiÅa/tÄ«kls/atmiÅa. , saprast, kÄ tie tiek izmantoti un ietekmÄt viens otru. Tas viss padara dažÄdu blokÄ·Äžu Ätrumu salÄ«dzinÄÅ”anu ācik TPSā veidÄ par ÄrkÄrtÄ«gi nepateicÄ«gu uzdevumu, jo ir ļoti daudz dažÄdu konfigurÄciju un stÄvokļu. LielÄs centralizÄtÄs sistÄmÄs, simtiem serveru klasteros, arÄ« Ŕīs problÄmas ir sarežģītas un arÄ« prasa savÄkt lielu skaitu dažÄdu metriku, bet blokÄ·ÄdÄs, pateicoties p2p tÄ«kliem, virtuÄlÄs maŔīnas, kas apstrÄdÄ lÄ«gumus, iekÅ”ÄjÄs ekonomijas, grÄdu skaitu. brÄ«vÄ«ba ir daudz lielÄka, kas padara testu pat vairÄkos serveros, tas nav indikatÄ«vs un parÄda tikai ÄrkÄrtÄ«gi aptuvenas vÄrtÄ«bas, kurÄm nav gandrÄ«z nekÄdas saistÄ«bas ar realitÄti.
TÄpÄc, izstrÄdÄjot blokÄ·Ädes kodolÄ, lai novÄrtÄtu veiktspÄju un atbildÄtu uz jautÄjumu āvai tas ir uzlabojies salÄ«dzinÄjumÄ ar iepriekÅ”Äjo reizi?ā, mÄs izmantojam diezgan sarežģītu programmatÅ«ru, kas organizÄ blokÄ·Ädes palaiÅ”anu ar desmitiem mezglu un automÄtiski palaiž etalonu un apkopo metriku. ; bez Ŕīs informÄcijas ir ÄrkÄrtÄ«gi grÅ«ti atkļūdot protokolus, kas darbojas ar vairÄkiem dalÄ«bniekiem.
TÄtad, kad saÅemat jautÄjumu ācik TPS ir jÅ«su blokÄ·ÄdÄ?ā, piedÄvÄjiet savam sarunu biedram tÄju un pajautÄjiet, vai viÅÅ” ir gatavs apskatÄ«t duci grafiku, kÄ arÄ« noklausÄ«ties visas trÄ«s blokÄ·Ädes veiktspÄjas problÄmas un jÅ«su ieteikumus tos risinot...
Avots: www.habr.com