Stutt yfirlit yfir Blockchain prófunar- og viðmiðunartæki

Stutt yfirlit yfir Blockchain prófunar- og viðmiðunartæki

Í dag eru lausnir fyrir prófun og viðmiðun blockchains sérsniðnar að tiltekinni blockchain eða gafflum hennar. En það eru líka nokkrar almennar lausnir sem eru mismunandi að virkni: sumar þeirra eru opinn uppspretta verkefni, aðrar eru veittar sem SaaS, en flestar eru innri lausnir búnar til af blockchain þróunarteymi. Hins vegar leysa þau öll svipuð vandamál. Í þessari grein reyndi ég að rifja stuttlega upp nokkrar vörur sem eru sérstaklega hannaðar til að prófa blockchains.

Rekstur blockchain nets líkist rekstri dreifðs gagnagrunns, þannig að hægt er að nota svipuð verkfæri og aðferðir til að prófa. Til að skilja betur hvernig dreifðir gagnagrunnar eru prófaðir skaltu skoða gott úrval af auðlindum og greinum þess vegna. Til dæmis er leynd flokkuð í bita í þessu grein, og til að skilja hvernig þeir leita að villum í afritunaralgrímum, mæli ég með því að lesa þetta greinar.

Ég mun lýsa nokkrum vinsælum lausnum til að prófa og mæla blockchains. Ég væri ánægður ef þú lýsir öðrum gagnlegum hugbúnaðarvörum í athugasemdunum til að leysa sömu vandamál.

Stutt yfirlit yfir Blockchain prófunar- og viðmiðunartæki

Ég mun byrja á tóli sem, þó að það sé ekki búið til sérstaklega fyrir blokkakeðjur, gerir þér kleift að prófa virkni þeirra á áhrifaríkan hátt, að því tilskildu að það sé þegar í gangi net sem þú getur gert tilraunir á. Mikilvægasti þátturinn í áreiðanleika dreifðs kerfis er hæfileikinn til að halda áfram að vinna ef vandamál koma upp á netþjónum og neti. Þetta gæti verið nettafir, fullur diskur, óaðgengi á ytri þjónustu (DNS), vélbúnaðarbilanir og hundruðir annarra ástæðna. Til að kanna stöðugleika hvers kyns kerfa sem starfa í sameiningu á miklum fjölda kerfisvéla geturðu notað Gremlin. Það notar afar áhrifaríka nálgun sem kallast Chaos Engineering.

Með því að nota eigin netmiðlara skapar Gremlin margar mismunandi gerðir af vandamálum á nauðsynlegum fjölda véla: nettafir, ofhleðsla á hvaða auðlind sem er (CPU, diskur, minni, net), slekkur á einstökum samskiptareglum osfrv. Fyrir blockchains er hægt að nota Gremlin á testnet netþjónum, líkja eftir raunverulegum vandamálum og fylgjast með hegðun netsins. Með því geta verktaki og stjórnendur fylgst með í stýrðu umhverfi hvað mun gerast ef kerfið hrynur eða þegar kóðinn er uppfærður. Í þessu tilviki verður að stilla og dreifa netkerfinu fyrirfram, sem og stilla til að safna nauðsynlegum mælingum.

Gremlin er þægilegt tól fyrir arkitekta, devops og öryggissérfræðinga og alhliða lausn til að prófa öll tilbúin og keyrandi dreifð kerfi, þar með talið blockchains.

Stutt yfirlit yfir Blockchain prófunar- og viðmiðunartæki

Hyperledger Caliper er mun sérhæfðari lausn Hástafalaga. Í augnablikinu styður Caliper nokkrar blockchains í einu - fulltrúar Hyperledger fjölskyldunnar (Fabric, Sawtooth, Iroha, Burrow, Besu), auk Ethereum og FISCO BCOS netsins.

Með því að nota Caliper geturðu stillt staðfræði blockchain netsins og samninga til prófunar, auk þess að lýsa uppsetningu hnútsins. Blockchain hnútar eru hækkaðir í docker gámum á einni vél. Næst geturðu valið það sem þarf prófunarstillingar og fáðu skrá með skýrslu um prófunarniðurstöður eftir sjósetningu. Hér má finna heildarlista yfir mælikvarða og viðmiðunaraðferðir Hyperledger Blockchain árangursmælingar, þetta er frábær grein ef þú hefur áhuga á efni blockchain benchmarking. Þú getur líka sett upp mælikvarðasafn í sérstakri Prometheus/Grafana.

Hyperledger Caliper er tól sem ætlað er hönnuðum og kerfisarkitektum, þar sem það veitir endurtekningarhæfni prófana og sjálfvirkni prófunar og viðmiðunar. Það er notað í þróun kjarna blockchains: samstöðu reiknirit, sýndarvél til að vinna úr snjöllum samningum, jafningjalag og önnur kerfiskerfi.

Stutt yfirlit yfir Blockchain prófunar- og viðmiðunartæki

MixBytes tankur er tól sem kom fram í því ferli að þróa samstöðu og endanleika reiknirit fyrir EOS-undirstaða net og prófa parachains byggðar á Parity Substrate (Polkadot). Hvað varðar virkni er það nálægt Hyperledger Caliper, þar sem það gerir þér kleift að safna mikilvægum mælingum frá hnútum hvaða dreifðu kerfis sem er og biðlaravélar sem prófunarforskriftir eru í gangi á.

MixBytes Tank notar nokkrar skýjaþjónustur (Digital Ocean, Google Cloud Engine, osfrv.), þar sem það getur ræst marga hnúta, framkvæmt bráðabirgðastillingarferli, keyrt nokkur viðmið samhliða á mismunandi vélum, safnað nauðsynlegum mæligildum og slökkt sjálfkrafa á net.

MixBytes Tank gerir þér kleift að spara peninga á skýjaþjónum með því að lágmarka sjálfkrafa óþarfa fjármagn eftir próf. Annar sérstakur eiginleiki er notkun Molecule pakkans, sem gerir verktaki kleift að prófa uppsetningu á viðkomandi blockchain á staðnum.

MixBytes Tank gerir þér kleift að greina snemma flöskuhálsa og villur í reikniritum sem koma upp í raunverulegum netkerfum með miklum fjölda landfræðilega dreifðra netþjóna og viðskiptavina. Tankurinn mun hjálpa þér að skilja hvað mun gerast á hnútunum ef viðskiptavinir senda viðskipti með tiltekið tps við mjög endurteknar aðstæður og með raunverulegum fjölda hnúta dreift yfir mismunandi heimsálfur, ef þörf krefur.

Stutt yfirlit yfir Blockchain prófunar- og viðmiðunartæki

Whiteblock Genesis er prófunarvettvangur fyrir blokkkeðjur sem byggja á Ethereum. Þetta tól hefur býsna víðtæka virkni: það gerir þér kleift að ræsa net, búa til nauðsynlegan fjölda reikninga á því, hækka nauðsynlegan fjölda viðskiptavina, stilla svæðisfræði netkerfisins, tilgreina bandbreidd og pakkatapsbreytur og keyra próf.

Whiteblock Genesis útvegar sína eigin prófunaraðstöðu. Hönnuðir þurfa bara að tilgreina prófunarfæribreytur, keyra þær með tilbúnu API og fá niðurstöður með því að nota þægilegt mælaborð.

Whiteblock Genesis gerir þér kleift að stilla nokkuð ítarlegt próf sem pallurinn mun sjálfkrafa framkvæma fyrir hverja verulega kóðabreytingu. Þetta gerir þér kleift að grípa villur á frumstigi og meta strax áhrif breytinga á mikilvægar netbreytur, svo sem viðskiptahraða og auðlindir sem hnútar nota.

Madt

Önnur áhugaverð ung vara til að prófa dreifð kerfi er madt. Það er skrifað í Python og gerir þér kleift að búa til nauðsynlega netkerfisfræði og nauðsynlegan fjölda netþjóna og viðskiptavina með því að nota einfalt uppsetningarforskrift (Dæmi). Eftir þetta setur þjónustan netið í notkun í nokkrum Docker gámum og opnar vefviðmót þar sem þú getur fylgst með skilaboðum frá netþjónum og viðskiptavinum netsins. Madt er hægt að nota til að prófa blockchains - verkefnageymslan er með p2p netpróf byggt á Kademlia samskiptareglunum, þar sem seinkun á afhendingu gagna til hnúta er smám saman aukin og staða þessara gagna er skoðuð.

Madt hefur nýlega komið fram, en í ljósi þess að hún er mjög sveigjanleg arkitektúr getur það þróast í hagnýta vöru.

Aðrar lausnir

Næstum allar prófanir á kerfishluta blockchains krefjast þess að keyra bráðabirgðaforskriftir, undirbúa reikninga og skilyrði fyrir prófið (þetta getur verið að prófa samstöðuvillur sem geta búið til fjölmargar gafflar af keðjum, prófa harða gaffla atburðarás, breyta kerfisbreytum osfrv.). Öll þessi meðhöndlun er framkvæmd á mismunandi hátt í mismunandi blokkkeðjum, þannig að það er auðveldara fyrir teymi að aðlaga vöruprófanir og viðmiðun smám saman að innri CI/CD og nota sína eigin þróun, sem smám saman verður flóknari eftir því sem virkni blokkarkeðjunnar þróast.

Engu að síður getur notkun á tilbúnum lausnum dregið mjög úr prófunartíma þessara teyma, þannig að ég held að þessi hugbúnaður verði virkur í þróun á næstu árum.

Ályktun

Til að ljúka þessari stuttu umfjöllun mun ég telja upp nokkur mikilvæg einkenni blockchain prófunartækja:

  • Hæfni til að dreifa blockchain neti sjálfkrafa við endurteknar aðstæður. Þessi þáttur er mikilvægur þegar þróað er kerfishluta blokkkeðja: samstöðu reiknirit, endanleiki, kerfissnjallir samningar.
  • Kostnaður við að eiga kerfið, auðlindir sem neytt er og þægindi fyrir stöðuga notkun. Þessi þáttur veitir verkefninu hágæða próf fyrir lítinn pening.
  • Sveigjanleiki og einfaldleiki prófunarstillingar. Þessi þáttur eykur líkurnar á að greina kerfisvandamál - það eru minni líkur á að missa af einhverju mikilvægu.
  • Sérsniðin fyrir sérstakar tegundir blockchains. Með því að þróa lausn byggða á þeirri lausn sem fyrir er getur það bætt gæði til muna og dregið úr tímakostnaði.
  • Þægindi og aðgengi að niðurstöðum sem fengust og gerð þeirra (skýrslur, mæligildi, línurit, annálar osfrv.). Þetta er algjörlega nauðsynlegt ef þú vilt fylgjast með þróunarsögu vöru eða ef þú þarfnast djúprar greiningar á hegðun blockchain netsins.

Gangi þér vel í prófunum þínum og megi blockchains þín vera hröð og bilanaþolin!

Heimild: www.habr.com

Bæta við athugasemd