Таны блокчейн дээр хэдэн TPS байгаа вэ?

Техникийн бус хүнээс ямар нэгэн тархсан системийн талаар хамгийн дуртай асуулт бол "Таны блокчейн дээр хэдэн tps байна?" Гэсэн хэдий ч хариултанд өгсөн тоо нь асуугчийн сонсохыг хүсч буй зүйлтэй ижил төстэй байдаггүй. Үнэн хэрэгтээ тэрээр "таны блокчейн миний бизнесийн шаардлагад нийцэх үү" гэж асуухыг хүссэн бөгөөд эдгээр шаардлага нь нэг тоо биш, харин олон нөхцөлүүд юм - энд сүлжээний алдааг тэсвэрлэх чадвар, эцсийн гүйцэтгэлийн шаардлага, хэмжээ, гүйлгээний шинж чанар болон бусад олон үзүүлэлтүүд байна. Тиймээс "хэдэн tps" гэсэн асуултын хариулт нь энгийн байх магадлал багатай бөгөөд бараг хэзээ ч бүрэн гүйцэд байдаггүй. Нилээд төвөгтэй тооцоолол хийдэг хэдэн арван эсвэл хэдэн зуун зангилаа бүхий тархсан систем нь сүлжээний төлөв байдал, блокчэйний агуулга, техникийн гэмтэл, эдийн засгийн асуудал, сүлжээнд халдсан болон бусад олон шалтгаантай холбоотой асар олон янзын төлөвт байж болно. . Гүйцэтгэлийн асуудал гарч болох үе шатууд нь уламжлалт үйлчилгээнүүдээс ялгаатай бөгөөд блокчейн сүлжээний сервер нь мэдээллийн сан, вэб сервер, torrent клиентийн функцийг хослуулсан сүлжээний үйлчилгээ бөгөөд бүх дэд системүүдийн ачааллын профайлын хувьд үүнийг маш нарийн төвөгтэй болгодог. : процессор, санах ой, сүлжээ, хадгалах сан

Төвлөрсөн бус сүлжээ, блокчэйн нь төвлөрсөн програм хангамж хөгжүүлэгчдийн хувьд нэлээд өвөрмөц бөгөөд ер бусын програм хангамж юм. Тиймээс би төвлөрсөн бус сүлжээний гүйцэтгэл, тогтвортой байдлын чухал талууд, тэдгээрийг хэмжих, саад тотгорыг олох арга барилыг онцлон тэмдэглэхийг хүсч байна. Бид блокчейн хэрэглэгчдэд үйлчилгээ үзүүлэх хурдыг хязгаарладаг гүйцэтгэлийн янз бүрийн асуудлуудыг авч үзэх бөгөөд энэ төрлийн програм хангамжийн онцлог шинж чанаруудыг тэмдэглэх болно.

Блокчейн үйлчлүүлэгчийн үйлчилгээний хүсэлтийн үе шатууд

Илүү их эсвэл бага төвөгтэй үйлчилгээний чанарын талаар шударгаар ярихын тулд та зөвхөн дундаж утгыг төдийгүй хамгийн их/хамгийн бага, медиан, хувь хэмжээг харгалзан үзэх хэрэгтэй. Онолын хувьд бид зарим блокчэйн дээр 1000 tps-ийн тухай ярьж болно, гэхдээ хэрэв 900 гүйлгээ асар хурдтайгаар хийгдэж, 100 гүйлгээ хэдхэн секундын турш "гацсан" бол бүх гүйлгээнд цуглуулсан дундаж хугацаа нь үйлчлүүлэгчийн хувьд бүрэн шударга хэмжигдэхүүн биш юм. Би хэдхэн секундын дотор гүйлгээг хийж чадаагүй. Зөвшөөрөлгүй тойрог эсвэл сүлжээний хуваагдлаас үүссэн түр зуурын "нүх" нь туршилтын вандан дээр маш сайн гүйцэтгэлтэй байсан үйлчилгээг ихээхэн сүйтгэж болзошгүй юм.

Ийм саад бэрхшээлийг тодорхойлохын тулд жинхэнэ блокчейн хэрэглэгчдэд үйлчлэхэд хүндрэлтэй байж болох үе шатуудын талаар сайн ойлголттой байх шаардлагатай. Гүйлгээг хүргэх, боловсруулах, мөн блокчэйны шинэ төлөвийг олж авах мөчлөгийг тайлбарлая, үүнээс үйлчлүүлэгч өөрийн гүйлгээг боловсруулж, нягтлан бодох бүртгэлд хамрагдсан эсэхийг баталгаажуулах боломжтой.

  1. гүйлгээ нь үйлчлүүлэгч дээр үүсдэг
  2. гүйлгээ нь үйлчлүүлэгч дээр гарын үсэг зурсан
  3. үйлчлүүлэгч зангилааны аль нэгийг сонгоод түүн рүү гүйлгээгээ илгээдэг
  4. үйлчлүүлэгч зангилааны улсын мэдээллийн сангийн шинэчлэлд бүртгүүлж, гүйлгээний үр дүн гарч ирэхийг хүлээж байна
  5. зангилаа нь p2p сүлжээгээр гүйлгээг түгээдэг
  6. хэд хэдэн эсвэл нэг BP (блок үйлдвэрлэгч) хуримтлагдсан гүйлгээг боловсруулж, улсын мэдээллийн санг шинэчилдэг
  7. BP нь шаардлагатай тооны гүйлгээг боловсруулсны дараа шинэ блок үүсгэдэг
  8. BP нь p2p сүлжээгээр шинэ блок түгээдэг
  9. шинэ блок нь үйлчлүүлэгчийн хандаж буй зангилаа руу хүргэгдэнэ
  10. зангилаа нь төлөвийн мэдээллийн санг шинэчилдэг
  11. зангилаа нь үйлчлүүлэгчтэй холбоотой шинэчлэлтийг харж, түүнд гүйлгээний мэдэгдэл илгээдэг

Одоо эдгээр үе шатуудыг нарийвчлан авч үзээд, үе шат бүрт гарч болзошгүй гүйцэтгэлийн асуудлуудыг тайлбарлая. Төвлөрсөн системээс ялгаатай нь бид сүлжээний үйлчлүүлэгчид дээрх кодыг гүйцэтгэх талаар авч үзэх болно. Ихэнхдээ TPS-ийг хэмжихдээ гүйлгээний боловсруулалтын хугацааг үйлчлүүлэгчээс биш харин зангилаанаас авдаг - энэ нь бүхэлдээ шударга биш юм. Үйлчлүүлэгч нь зангилаа түүний гүйлгээг хэр хурдан гүйцэтгэсэн нь хамаагүй, түүний хувьд хамгийн чухал зүйл бол блокчэйнд багтсан энэхүү гүйлгээний талаарх найдвартай мэдээлэл түүнд бэлэн болох мөч юм. Чухамдаа энэ үзүүлэлт нь гүйлгээний гүйцэтгэлийн хугацаа юм. Энэ нь өөр өөр үйлчлүүлэгчид, тэр ч байтугай ижил гүйлгээг илгээсэн ч гэсэн суваг, ачаалал, зангилааны ойролцоо зэргээс шалтгаалж огт өөр цагийг хүлээн авах боломжтой гэсэн үг юм. Тиймээс энэ хугацааг оновчтой болгох шаардлагатай параметр учраас үйлчлүүлэгчиддээ энэ хугацааг хэмжих зайлшгүй шаардлагатай.

Үйлчлүүлэгч тал дээр гүйлгээ бэлтгэх

Эхний хоёр цэгээс эхэлье: гүйлгээг үйлчлүүлэгч бүрдүүлж, гарын үсэг зурна. Хачирхалтай нь энэ нь үйлчлүүлэгчийн үүднээс блокчэйний гүйцэтгэлд саад учруулж болзошгүй юм. Энэ нь бүх тооцоолол, өгөгдөлтэй холбоотой үйл ажиллагааг хариуцдаг төвлөрсөн үйлчилгээний хувьд ер бусын бөгөөд үйлчлүүлэгч зүгээр л их хэмжээний өгөгдөл эсвэл тооцоолол хийх боломжтой богино хүсэлтийг бэлтгэж, бэлэн үр дүнг авдаг. Блокчейн дээр үйлчлүүлэгчийн код улам хүчирхэг болж, блокчейн цөм нь улам хөнгөн болж, том тооцооллын ажлууд ихэвчлэн үйлчлүүлэгчийн програм хангамж руу шилждэг. Блокчейн дээр нэг гүйлгээг нэлээд удаан хугацаанд бэлтгэх боломжтой үйлчлүүлэгчид байдаг (би янз бүрийн merkle нотлох баримтууд, товч нотлох баримтууд, босго гарын үсэг болон бусад нарийн төвөгтэй үйлдлүүдийн талаар ярьж байна). Үйлчлүүлэгчийн гүйлгээг хялбархан шалгах, гүйлгээг бэлтгэх сайн жишээ бол Merkle-tree дээр суурилсан жагсаалтад гишүүнчлэлийн баталгаа юм. нийтлэл.

Түүнчлэн, үйлчлүүлэгчийн код нь блокчэйн рүү гүйлгээ илгээдэггүй, харин эхлээд блокчэйний төлөвийг асуудаг гэдгийг мартаж болохгүй - энэ үйл ажиллагаа нь сүлжээ болон блокчейн зангилааны түгжрэлд нөлөөлж болно. Тиймээс хэмжилт хийхдээ үйлчлүүлэгчийн кодын зан төлөвийг аль болох бүрэн дуурайх нь зүйтэй юм. Хэдийгээр таны блокчлонд хамгийн энгийн гүйлгээнд тогтмол дижитал гарын үсэг зурдаг энгийн үйлчлүүлэгчид байдаг ч жил бүр үйлчлүүлэгч дээр илүү их хэмжээний тооцоо хийгдэж, крипто алгоритмууд улам хүчирхэгжиж, боловсруулалтын энэ хэсэг нь ирээдүйд томоохон гацаа болж хувирна. Тиймээс 3.5 секунд үргэлжилсэн гүйлгээнд гүйлгээг бэлтгэх, гарын үсэг зурахад 2.5 секунд, сүлжээнд илгээх, хариу хүлээхэд 1.0 секунд зарцуулдаг нөхцөл байдлыг бүү алдаарай. Энэхүү түгжрэлийн эрсдлийг үнэлэхийн тулд та зөвхөн блокчейн зангилаанаас бус үйлчлүүлэгчийн машинуудаас хэмжүүр цуглуулах хэрэгтэй.

Гүйлгээ илгээж, түүний статусыг хянах

Дараагийн алхам бол сонгосон блокчейн зангилаа руу гүйлгээг илгээж, гүйлгээний санд хүлээн авсан статусыг хүлээн авах явдал юм. Энэ үе шат нь ердийн мэдээллийн санд хандахтай адил бөгөөд зангилаа нь сан дахь гүйлгээг бүртгэж, p2p сүлжээгээр дамжуулан түүний талаарх мэдээллийг түгээж эхлэх ёстой. Энд гүйцэтгэлийг үнэлэх арга нь уламжлалт Web API микро үйлчилгээний гүйцэтгэлийг үнэлэхтэй төстэй бөгөөд блокчейн дэх гүйлгээг өөрсдөө шинэчилж, статусаа идэвхтэй өөрчлөх боломжтой. Ерөнхийдөө зарим блокчейн дээр гүйлгээний мэдээллийг шинэчлэх нь олон удаа тохиолдож болно, жишээлбэл, гинжин салаа хооронд шилжих үед эсвэл АД блокт гүйлгээ оруулах хүсэлтэй байгаагаа зарлах үед. Энэ усан сангийн хэмжээ болон түүн дэх гүйлгээний тоог хязгаарлах нь блокчэйний гүйцэтгэлд нөлөөлж болно. Хэрэв гүйлгээний сан хамгийн их хэмжээгээр дүүрсэн эсвэл RAM-д тохирохгүй бол сүлжээний гүйцэтгэл огцом буурч болно. Блокчейн нь хог хаягдлын үерээс хамгаалах төвлөрсөн арга хэрэгсэлгүй бөгөөд хэрвээ блокчэйн нь их хэмжээний гүйлгээ, бага шимтгэлийг дэмждэг бол энэ нь гүйлгээний нөөцийг дүүргэж, гүйцэтгэлийн өөр нэг саатлыг үүсгэж болзошгүй юм.

Блокчейн дээр үйлчлүүлэгч өөрт таалагдсан блокчейн зангилаа руу гүйлгээ илгээдэг, гүйлгээний хэш нь ихэвчлэн илгээхээсээ өмнө үйлчлүүлэгчид мэдэгддэг тул түүний хийх зүйл бол холболтод хүрч, дамжуулсны дараа блокчэйн өөрчлөгдөхийг хүлээх явдал юм. түүний төлөв, түүний гүйлгээг идэвхжүүлэх. "Tps"-ийг хэмжсэнээр та блокчейн зангилаанд холбогдох өөр аргуудын хувьд огт өөр үр дүнд хүрч болохыг анхаарна уу. Энэ нь ердийн HTTP RPC эсвэл "захиалах" загварыг хэрэгжүүлэх боломжийг олгодог WebSocket байж болно. Хоёр дахь тохиолдолд, үйлчлүүлэгч өмнө нь мэдэгдэл хүлээн авах бөгөөд зангилаа нь гүйлгээний статусын талаархи хариултуудад бага нөөц (голчлон санах ой ба урсгал) зарцуулах болно. Тиймээс "tps" -ийг хэмжихдээ үйлчлүүлэгчид зангилаа руу холбох арга замыг анхаарч үзэх хэрэгтэй. Иймээс энэхүү саад бэрхшээлийн эрсдлийг үнэлэхийн тулд жишиг блокчэйн нь WebSocket болон HTTP RPC хүсэлтийн аль алиных нь хамт үйлчлүүлэгчдийг бодит сүлжээнд тохирох хувь хэмжээгээр дуурайж, гүйлгээний мөн чанар, хэмжээг өөрчлөх чадвартай байх ёстой.

Энэхүү түгжрэлийн эрсдлийг үнэлэхийн тулд та зөвхөн блокчейн зангилаанаас бус үйлчлүүлэгчийн машинуудаас хэмжүүр цуглуулах хэрэгтэй.

p2p сүлжээгээр дамжуулан гүйлгээ, блок дамжуулах

Блокчейн дээр peer-to-peer (p2p) сүлжээг оролцогчдын хооронд гүйлгээ, блок шилжүүлэхэд ашигладаг. Гүйлгээ нь нэг зангилаанаас эхлээд сүлжээгээр тархаж, гүйлгээг блок болгон багцалж, ижил p2p ашиглан сүлжээний бүх зангилаанд шинэ блокуудыг тараадаг үе тэнгийн блок үйлдвэрлэгчдэд хүртлээ. Ихэнх орчин үеийн p2p сүлжээнүүдийн үндэс нь Kademlia протоколын янз бүрийн өөрчлөлтүүд юм. энд энэ протоколын сайн хураангуй, мөн болгоогтун - BitTorrent сүлжээн дэх янз бүрийн хэмжилт бүхий нийтлэл, үүнээс энэ төрлийн сүлжээ нь төвлөрсөн үйлчилгээний хатуу тохируулсан сүлжээнээс илүү төвөгтэй бөгөөд урьдчилан таамаглах боломжгүй гэдгийг ойлгох болно. Мөн, болгоогтун Ethereum зангилааны янз бүрийн сонирхолтой хэмжүүрүүдийг хэмжих тухай нийтлэл.

Товчхондоо, ийм сүлжээн дэх үе тэнгийнхэн бүр агуулгаараа хандсан мэдээллийн блокуудыг хүссэн бусад нөхдийнхөө динамик жагсаалтыг хөтөлдөг. Үе тэнгийнхэн хүсэлт хүлээн авахдаа шаардлагатай мэдээллийг өгөх эсвэл жагсаалтаас дараагийн псевдо санамсаргүй үе тэнгийнхэн рүү хүсэлтийг дамжуулж, хариу хүлээн авсны дараа хүсэлт гаргагчид дамжуулж хэсэг хугацаанд кэш хийж, үүнийг өгдөг. дараагийн удаад өмнө нь мэдээллийн блок. Тиймээс түгээмэл мэдээлэл нь олон тооны үе тэнгийнхний олон тооны кэшэд дуусч, түгээмэл бус мэдээлэл аажмаар солигддог. Үе тэнгийнхэн нь хэн, хэнд хэр их мэдээлэл шилжүүлсэн тухай бүртгэл хөтөлдөг бөгөөд сүлжээ нь идэвхтэй дистрибьютерүүдийн үнэлгээг нэмэгдүүлж, өндөр түвшний үйлчилгээ үзүүлэх замаар идэвхгүй оролцогчдыг үе тэнгийнхний жагсаалтаас автоматаар нүүлгэн шилжүүлэхийг оролддог.

Тиймээс одоо гүйлгээг сүлжээгээр тараах шаардлагатай бөгөөд ингэснээр блок үйлдвэрлэгчид үүнийг харж, блокт оруулах боломжтой болно. Зангилаа нь шинэ гүйлгээг хүн бүрт идэвхтэй "тарааж" сүлжээг сонсож, хүлээгдэж буй үйлчлүүлэгчид мэдэгдэхийн тулд индекст шаардлагатай гүйлгээ гарч ирэх блокыг хүлээж байна. P2p сүлжээн дэх шинэ гүйлгээ, блокуудын талаарх мэдээллийг хоорондоо дамжуулахад шаардагдах хугацаа нь маш олон хүчин зүйлээс хамаардаг: ойролцоо ажиллаж байгаа шударга зангилааны тоо (сүлжээний үүднээс авч үзвэл), "дулаан- Эдгээр зангилааны кэш, блокуудын хэмжээ, гүйлгээ, өөрчлөлтийн шинж чанар, сүлжээний газарзүй, зангилааны тоо болон бусад олон хүчин зүйлүүд. Ийм сүлжээн дэх гүйцэтгэлийн хэмжүүрийн цогц хэмжилтүүд нь нарийн төвөгтэй асуудал бөгөөд үйлчлүүлэгчид болон үе тэнгийнхэн (блокчейн зангилаа) хоёуланд нь хүсэлтийг боловсруулах хугацааг нэгэн зэрэг үнэлэх шаардлагатай байдаг. p2p механизмын аливаа асуудал, өгөгдлийг буруу устгах, кэш хийх, идэвхтэй үе тэнгийнхний жагсаалтыг үр ашиггүй удирдах болон бусад олон хүчин зүйлүүд нь бүхэл бүтэн сүлжээний үр ашигт нөлөөлөх саатал үүсгэдэг бөгөөд энэ саад бэрхшээл нь дүн шинжилгээ хийхэд хамгийн хэцүү байдаг. , туршилт, үр дүнг тайлбарлах.

Блокчейн боловсруулалт ба улсын мэдээллийн санг шинэчлэх

Блокчэйний хамгийн чухал хэсэг нь зөвшилцлийн алгоритм, түүнийг сүлжээнээс хүлээн авсан шинэ блокуудад ашиглах, үр дүнг улсын мэдээллийн санд бүртгэх замаар гүйлгээг боловсруулах явдал юм. Гинжинд шинэ блок нэмж, дараа нь үндсэн гинжийг сонгох нь аль болох хурдан ажиллах ёстой. Гэсэн хэдий ч бодит амьдрал дээр "хэрэгтэй" гэдэг нь "ажиллах" гэсэн үг биш бөгөөд жишээлбэл, хоёр урт өрсөлдөж буй гинжин хэлхээнүүд хоорондоо байнга шилжиж, сэлгэн залгах бүрт усан сан дахь олон мянган гүйлгээний мета өгөгдлийг өөрчилдөг нөхцөл байдлыг төсөөлж болно. , мөн улсын мэдээллийн санг байнга буцаах. Энэ үе шат нь саад тотгорыг тодорхойлох тал дээр p2p сүлжээний давхаргаас илүү хялбар байдаг, учир нь гүйлгээний гүйцэтгэл ба зөвшилцлийн алгоритм нь нарийн тодорхойлогддог бөгөөд энд ямар ч зүйлийг хэмжих нь илүү хялбар байдаг.
Хамгийн гол нь энэ үе шатны гүйцэтгэлийн санамсаргүй доройтлыг сүлжээний асуудалтай андуурч болохгүй - зангилаанууд нь блокууд болон үндсэн гинжин хэлхээний талаархи мэдээллийг дамжуулахдаа удаашралтай байдаг бөгөөд гадаад үйлчлүүлэгчийн хувьд энэ нь удаан сүлжээ мэт харагдаж магадгүй юм. шал өөр газар.

Энэ үе шатанд гүйцэтгэлийг оновчтой болгохын тулд зангилаанаас хэмжигдэхүүнүүдийг өөрсдөө цуглуулж, хянах нь зүйтэй бөгөөд үүнд төрийн мэдээллийн санг шинэчлэхтэй холбоотой: зангилаа дээр боловсруулсан блокуудын тоо, тэдгээрийн хэмжээ, гүйлгээний тоо, гинжин салаа хоорондын шилжүүлэгчийн тоо, хүчингүй блокуудын тоо, виртуал машины ажиллах хугацаа, өгөгдөл хүлээн авах хугацаа гэх мэт. Энэ нь сүлжээний асуудлыг гинжин боловсруулалтын алгоритмын алдаатай андуурахаас сэргийлнэ.

Виртуал машин боловсруулах гүйлгээ нь блокчейн ажиллагааг оновчтой болгох мэдээллийн ашигтай эх сурвалж байж болно. Санах ойн хуваарилалтын тоо, унших/бичих зааврын тоо болон гэрээний кодын гүйцэтгэлийн үр дүнтэй холбоотой бусад хэмжигдэхүүнүүд нь хөгжүүлэгчдэд маш их хэрэгтэй мэдээллийг өгч чадна. Үүний зэрэгцээ ухаалаг гэрээнүүд нь программууд бөгөөд энэ нь онолын хувьд CPU/санах ой/сүлжээ/санах зэрэг ямар ч нөөцийг ашиглаж болно гэсэн үг тул гүйлгээний боловсруулалт нь нэлээд тодорхой бус үе шат бөгөөд үүнээс гадна хувилбаруудын хооронд шилжих үед ихээхэн өөрчлөгддөг. мөн гэрээний кодыг өөрчлөх үед. Тиймээс блокчейн гүйцэтгэлийг оновчтой болгохын тулд гүйлгээний боловсруулалттай холбоотой хэмжүүрүүд бас хэрэгтэй.

Үйлчлүүлэгч блокчэйнд гүйлгээ оруулсан тухай мэдэгдлийг хүлээн авах

Энэ бол блокчейн үйлчлүүлэгчийн үйлчилгээг хүлээн авах эцсийн шат бөгөөд бусад үе шатуудтай харьцуулахад их хэмжээний нэмэлт зардал гарахгүй боловч зангилаанаас их хэмжээний хариу хүлээн авах боломжийг (жишээлбэл, ухаалаг гэрээ) авч үзэх нь зүйтэй юм. өгөгдлийн массивыг буцаах). Ямар ч байсан "таны блокчэйнд хэдэн tps байна вэ?" Гэсэн асуултыг асуусан хүний ​​хувьд энэ нь хамгийн чухал зүйл юм. Энэ мөчид үйлчилгээг хүлээн авсан цагийг бүртгэж байна.

Энэ газарт үйлчлүүлэгч блокчэйнээс хариу хүлээхэд зарцуулсан бүтэн цаг үргэлж илгээгддэг бөгөөд энэ удаад хэрэглэгч өөрийн аппликешны баталгаажуулалтыг хүлээх бөгөөд энэ нь түүний оновчлол юм. хөгжүүлэгчдийн гол үүрэг.

дүгнэлт

Үүний үр дүнд бид блокчейн дээр хийгдсэн үйлдлүүдийн төрлийг тодорхойлж, тэдгээрийг хэд хэдэн ангилалд хувааж болно.

  1. криптографийн хувиргалт, баталгааны бүтэц
  2. peer-to-peer сүлжээ, гүйлгээ, блок хуулбар
  3. гүйлгээ боловсруулах, ухаалаг гэрээ байгуулах
  4. блокчейн өөрчлөлтийг улсын мэдээллийн санд оруулах, гүйлгээ, блокуудын мэдээллийг шинэчлэх
  5. төрийн мэдээллийн сан, блокчлон зангилааны API, захиалгын үйлчилгээнд зөвхөн унших хүсэлт

Ерөнхийдөө орчин үеийн блокчейн зангилааны техникийн шаардлагууд нь маш ноцтой юм - криптографийн хувьд хурдан CPU-ууд, төрийн мэдээллийн санд хадгалах, хурдан нэвтрэхэд зориулагдсан их хэмжээний RAM, олон тооны нэгэн зэрэг нээлттэй холболтуудыг ашиглан сүлжээний харилцан үйлчлэл, том хэмжээний хадгалалт. Ийм өндөр шаардлага, янз бүрийн төрлийн үйл ажиллагааны элбэг дэлбэг байдал нь зангилаанууд хангалттай нөөцгүй байж болзошгүй тул дээр дурдсан үе шатуудын аль нэг нь сүлжээний ерөнхий гүйцэтгэлд өөр нэг саад тотгор болж болзошгүй юм.

Блокчейн бүтээмжийг боловсруулж, үнэлэхдээ эдгээр бүх зүйлийг анхаарч үзэх хэрэгтэй. Үүнийг хийхийн тулд та үйлчлүүлэгчид болон сүлжээний цэгүүдээс хэмжүүрүүдийг нэгэн зэрэг цуглуулж, дүн шинжилгээ хийх, тэдгээрийн хоорондын хамаарлыг хайж олох, үйлчлүүлэгчдэд үйлчилгээ үзүүлэхэд шаардагдах хугацааг тооцоолох, бүх үндсэн нөөцийг харгалзан үзэх хэрэгтэй: cpu/санах ой/сүлжээ/санах , тэдгээрийг хэрхэн ашиглаж байгааг ойлгож, бие биедээ нөлөөлдөг. Энэ бүхэн нь маш олон тооны өөр өөр тохиргоо, төлөвүүд байдаг тул "хэчнээн TPS" хэлбэрээр янз бүрийн блокчейн хурдыг харьцуулах нь туйлын талархалгүй ажил болгодог. Томоохон төвлөрсөн системүүд, олон зуун серверүүдийн кластеруудад эдгээр асуудлууд нь бас нарийн төвөгтэй бөгөөд олон тооны өөр өөр хэмжүүрүүдийг цуглуулахыг шаарддаг боловч блокчэйнд p2p сүлжээ, виртуал машин боловсруулах гэрээ, дотоод эдийн засаг, градусын тоо зэргээс шалтгаалан Эрх чөлөө нь хамаагүй илүү бөгөөд энэ нь тестийг хэд хэдэн сервер дээр ч хийдэг, энэ нь шинж тэмдэггүй бөгөөд бодит байдалтай бараг ямар ч холбоогүй маш ойролцоо утгыг харуулдаг.

Тиймээс блокчейн цөмд хөгжүүлэлт хийхдээ гүйцэтгэлийг үнэлж, "өнгөрсөн үетэй харьцуулахад сайжирсан уу?" Гэсэн асуултанд хариулахын тулд бид олон арван зангилаа бүхий блокчэйн эхлүүлэх ажлыг зохион байгуулж, автоматаар жишиг тогтоож, хэмжүүр цуглуулдаг нэлээд төвөгтэй програм хангамжийг ашигладаг. ; энэ мэдээлэлгүйгээр олон оролцогчтой ажилладаг протоколуудыг дибаг хийхэд маш хэцүү байдаг.

Тиймээс, "Таны блокчэйнд хэдэн TPS байгаа вэ?" гэсэн асуултыг хүлээж авахдаа ярилцагчдаа цай ууж, хэдэн арван график үзэхэд бэлэн байгаа эсэхийг асууж, блокчейн гүйцэтгэлийн асуудлууд болон таны санал хүсэлтийг сонсоорой. тэдгээрийг шийдвэрлэх ...

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх