Эшмәкәрлек һәм күрһәткестәр
Iroha һөҙөмтәлелеге эш йөкләмәһенә, валидатор топологияһына, селтәр шарттары һәм консенсус көйләүҙәренә бәйле. TPS Шуға күрә был һан тик билдәләнгән конфигурация менән күрһәтелгән эталонға бәйләнгән осраҡта ғына файҙалы.
Капитализмды планлаштырыу өсөн, һөҙөмтәлелек менән эш итеүҙе үҙ эсенә алырға кәрәк:
- селтәр талап ителгән транзакция ставкаһын ҡабул итә
- маҡсатлы бюджет эсендә тороу ваҡытын йөкмәтергә
- транзакция сираттары сикләнгән
- консенсус ҡабатланған ҡарау үҙгәрештәренә йәки тергеҙеү юлдары нигеҙендә түгел
Был битте файҙаланып, ҡулланыу юғары, уртаса йәки түбән һөҙөмтәлелек дәүерендәме икәнен билдәләү өсөн бирелгән узел һанын, селтәрҙең latency порогы һәм маҡсатлы TPS
Ниндәй өлгөләргә кәрәк?
Torii менән асыҡланған оператор өҫкө йөҙҙәренән башлана:
export TORII=http://127.0.0.1:8180
curl -s "$TORII/status" | jq .
curl -s -H 'Accept: application/json' "$TORII/v1/sumeragi/status" | jq .
curl -s "$TORII/v1/sumeragi/phases" | jq .
curl -s "$TORII/v1/sumeragi/rbc" | jq .
curl -s "$TORII/v1/sumeragi/params" | jq .
curl -s "$TORII/metrics" > metrics.promҺеҙ шул уҡ уҡырға ғына өлгөһөн асыҡ Taira менән һынап ҡарарға мөмкин:
TAIRA=https://taira.sora.org
curl -fsS "$TAIRA/status" \
| jq '{blocks, txs_approved, txs_rejected, queue_size, peers}'
curl -fsS "$TAIRA/v1/time/status" \
| jq '{healthy: .health.healthy, peers, samples_used, rtt_count: .rtt.count}'
curl -fsS "$TAIRA/metrics" \
| grep -E '^(block_height|queue_size|sumeragi_tx_queue_depth|txs|view_changes)' \
| head -n 20Сигнал исемдәрен өйрәнеү өсөн асыҡ Taira метрикалары файҙалы. Уларҙы үҙ урынлаштырыу өсөн етештереү ҡеүәтенең һандары итеп ҡулланырға ярамай.
CLI аша шундай уҡ консенсуслы фотоһүрәттәр бар:
iroha --config ./localnet/client.toml --output-format text ops sumeragi status
iroha --config ./localnet/client.toml --output-format text ops sumeragi phases
iroha --config ./localnet/client.toml --output-format text ops sumeragi telemetry
iroha --config ./localnet/client.toml ops sumeragi paramsТелеметрия күреүсәнлеге конфигурацияланған профилгә бәйле. /metrics кәрәк саҡта extended ҡулланығыҙ, ә һынау барышында full ҡулланығыҙ, әгәр һеҙгә шулай уҡ Sumeragi операторы маршруттары ла кәрәк икән.
telemetry_enabled = true
telemetry_profile = "full"Эшмәкәрлек таҫмалары
Был диапазондарҙы маҡсатлы үтеүсәнлектә күҙәтелгән хәрәкәт өсөн ҡулланыу Y TPS һәм кисектереү бюджеты L миллисекундтар. Эш мәшәҡәттәрен йылытыу, тотороҡло торош һәм иң кимендә бер осорҙа юғары йөкләнеү ваҡыты үткәреү кәрәк.
| Тамаша | Шарттар | Мәғәнәһе |
|---|---|---|
| Юғары | Ҡабул ителгән үтеүсәнлек Y йәки унан юғарыраҡ, p95 commit latency 0.8 * L аҫтында, сираттар 10% ҡеүәтенән түбәнерәк булып ҡала, һәм күреүҙе үҙгәртеү / тергеҙеү счетчиктары тигеҙ. | Ҡунаҡланыуҙа талап ителгән эш йөкләмәһе өсөн урын бар |
| Уртаса | Ҡабул ителгән тапшырыу тиҙлеге яҡын Y, p95 commit latency түбән L, сираттары тотороҡло 50% ҡеүәтенән түбәнерәк, һәм ҡарау үҙгәрештәр һирәк | Ойоштороу эшләй, әммә шартлау толерантлығы сикләнгән |
| Түбәнге | Ҡабул ителгән үтеүсәнлек Y аҫтында, p95 commit latency exceeds L, queues grow during the run, or view-change / backpressure counters rise continuously | Һорауланған эш йөкләмәһе , кәм тигәндә , бер bottleneck-тан ашыу |
Төп ҡағиҙә - сират йүнәлеше. Әгәр тапшырылған TPS йөкмәтелгәндән ҙурыраҡ булһа TPS һәм сират арта бара икән, ҡыҫҡа өлгөләр сәләмәт булып күренһә лә, күсереү артыҡ көсөргәнешле буласаҡ.
Кнопкалар һаны һәм кворум
Күберәк validators яңылышлыҡ толерантлығын яҡшыртыу, әммә координация, ҡултамға һәм селтәр өсөн сығымдар арттыра. Sumeragi ғәмәлгә ашырыу:
- раҫлаусы иҫәбе
nхата бюджетыf = floor((n - 1) / 3)алып сыға. n >= 4өсөн комиссия кворумы -2f + 1n <= 3өсөн бөтә валидаторҙар йөкләмәне үтәргә тейеш- күҙәтеүсе тиңдәштәре блоктарҙы синхронизациялай, әммә тауыш бирмәйҙәр, тәҡдим итмәйҙәр һәм йыйымайҙар.
| Валидаторҙар | Файҙаһыҙ бюджет | Кворумға килегеҙ | Ҡеүәтлелек белеме |
|---|---|---|---|
| 1 - 3 | 0 ғәмәли офлайн бушлай | бөтә раҫлаусылар | Үҫеш һәм ҙур булмаған һынауҙар өсөн файҙалы; ниндәй ҙә булһа юғалған validator commits ҡаҡшатырға мөмкин |
| 4 | 1 | 3 | Бер хаталылыҡ толерантлығы өсөн дөйөм минималь |
| 7 | 2 | 5 | Күберәк тотороҡло, күберәк тауыш биреү һәм пропаганда трафигы менән |
| 10 | 3 | 7 | Күберәк координация хаҡы; селтәр һәм коллектор көйләү мәсьәләһе күберәк |
"X узелдарын" баһалағанда тауыш биреүҙе раҫлаусыларҙы күҙәтеүселәрҙән айырырға кәрәк. Күҙәтеүселәрҙе өҫтәү, ғәҙәттә, раҫлаусылар менән сағыштырғанда, арзаныраҡ тора, әммә күҙәтеүселәр барыбер блок гайбаһын, блок синхронлаштырыуҙы, дискты һәм селтәр бүлкәт киңлеген ҡуллана.
Эшмәкәрлеккә йоғонто яһаған факторҙар
Эш йөкләмәһе формаһы
Шул уҡ TPS арзан йәки ҡиммәт булыуы мөмкин, һәр транзакция нимәгә бәйле.
- бер транзакция буйынса күрһәтмәләр һаны
- ҡултамғаларҙы иҫәпләү һәм ҡултамғалау алгоритмдары
- Транзакция байты һәм декомпрессланған файҙалы йөк күләме
- Уҡыу-яҙау нисбәте
- Метамәғлүмәт күләме һәм активтар операциялары
- smart contract, trigger һәм IVM үтәү сығымдары
- һорау йөкмәткеһе бер үк тиңдәргә ҡаршы бара
Кесе күсереү операциялары контрактлы йәки метамәғлүмәтле эш йөкләмәләре өсөн сәбәп түгел.
Консенсус ваҡыты
Sumeragi ваҡытын ғәмәлдәге Sumeragi параметрҙары менән билдәләйҙәр:
block_time_mscommit_time_msmin_finality_mspacing_factor_bps- NPOS режимы ҡуйылғанда NPoS фазаһы ваҡыт сығыу ваҡыты
Уларҙы тикшерегеҙ:
iroha --config ./localnet/client.toml ops sumeragi params
curl -s "$TORII/v1/sumeragi/params" | jq .Үҙгәрештәрҙе ҡарағандан һуң, юғалған тейәү йөкмәткеһен йыйып алыу йәки кире баҫым барлыҡҡа килгәндән һуң, ваҡытты кәметеү йыш ҡына һөҙөмтәлелектең насарауына килтерә.
Коллектор Фанут
Коллектор көйләүҙәре йөкләмәләр буйынса тауыш биреүселәрҙең ни тиклем тиҙ килеүенә йоғонто яһай:
sumeragi.collectors.kбейеклек буйынса тауыш йыйыусылар һаны менән идара итә.sumeragi.collectors.redundant_send_rурындағы ваҡытлы сираттан һуң өҫтәмә тауыш биреүҙе контролдә тотаsumeragi.collectors.parallel_topology_fanoutколлекторҙар менән бер рәттән топологияһын өҫтәй.
Өҫтәмә fanout ҙур йәки аҙ ышаныслы селтәрҙәрҙә ҡойроҡ latency кәметергә мөмкин, әммә был шулай уҡ трафик арттыра. Был ҡиммәттәрҙе үҙгәртер алдынан тупланма доступность һәм коллектор телеметрияһын latency һәм backpressure метрикалары менән сағыштырығыҙ:
iroha --config ./localnet/client.toml --output-format text ops sumeragi telemetryСеть шарттары
Консенсус һөҙөмтәлелеге түбәндәгеләргә бәйле:
- RTT validatorҙар араһында
- ығы-зығы һәм пакеттар юғалтыу
- Блок файҙалы йөкләмәләр һәм RBC киҫәктәр өсөн полоса киңлеге
- төбәктәр араһындағы асимметрик бәйләнештәр
- NAT, бер-береһе менән бәйләнеште кисектереүсе һаҡланыу стенаһы йәки эстафета тәртибе.
Планлау ҡағиҙәһе булараҡ, бер нисә валидаторҙың әйлән-бәйләнешен һәм башҡарыу һәм дискҡа йөкмәтеү ваҡытын ҡаплай торған тиклем оҙайлылыҡ бюджетын ҡуйығыҙ. p95 селтәре RTT инде теләгән p95 commit latency яҡын булһа, маҡсат ысынбарлыҡҡа тап килмәй.
Сираттар һәм инеү сикләүҙәре
Ҡабул итеү һәм сиратҡа ҡуйыу параметрҙары бер-береһенә күпме шартлау баҫымын һеңдерергә мөмкинлеген билдәләй:
queue.capacityqueue.capacity_per_userqueue.transaction_time_to_live_ms- генезис транзакция лимиттары, мәҫәлән, максималь ҡултамғалар, инструкциялар, байттар һәм декомпрессланған байттар.
- p2p сираттағы сикләүҙәр һәм консенсусҡа инеү сикләүҙәре
Юғары сират күләмдәре бер аҙ ваҡытҡа артыҡ йөкләнеүҙе йәшереп ҡала ала, әммә ул тотороҡло етештереүсәнлекте арттырмай.
Һауыт-һаба һәм һаҡлау
Һәр раҫлаусыны үлсәгеҙ, тик лидерҙы ғына түгел:
- CPU раҫлау, ҡултамғаларҙы тикшереү һәм үтәү ваҡытында ҡәнәғәтләндереү
- сираттар, фотоһүрәттәр һәм актив RBC сеанстарҙан килгән хәтер баҫымы
- блок һаҡлау һәм фотоһүрәттәр өсөн диск яҙыу задержкаһы
- селтәрҙең тапшырыу / ҡабул итеү тығыҙлығы
- Эш мәшәҡәте менән ҡулланылған осраҡта аппараттың тиҙләтеү параметрҙары
Иң әкрен тауыш биреүҙең раҫлаусыһы селтәрҙең ҡойроҡ latency билдәләй ала.
Прометей сигналдары
Метрик исемдәре профиль төҙөү һәм функциялар йыйылмаһы буйынса үҙгәреүе мөмкин. Тәүҙә узелығыҙҙа /metrics тикшерегеҙ, һуңынан бар булған сериялар тирәләй панелдәр төҙөгөҙ.
Ҡайһы бер сигналдар түбәндәгеләрҙе индерә:
| Сигнал | Прометейҙың миҫалдары | Нимә күрергә ? |
|---|---|---|
| Ҡабул ителгән тапшырыу | sum(rate(txs{type="accepted"}[5m])) | Стационар хәлдә маҡсатлы TPS бурысын үтәү йәки уны арттырыу |
| Ҡурҡҡандар | sum(rate(txs{type="rejected"}[5m])) | Был һынау планы менән аңлатылырға тейеш. |
| Задержәне йөкмәтергә | histogram_quantile(0.95, sum(rate(commit_time_ms_bucket[5m])) by (le)) | p95/p99-ны латенция бюджеты менән сағыштырығыҙ |
| Көҙгө тәрәнлеге | queue_size, sumeragi_tx_queue_depth | Иң юғары йөкләнеш ваҡытында сикләүҙәр һаҡланырға тейеш . |
| Кәрәкле сираттың тығыҙлығы | sumeragi_tx_queue_saturated | Тотороҡло булмаған нуль кимәлендәге уртаса йөкләмә |
| Үҙгәрештәрҙе ҡара | view_changes, sumeragi_view_change_suggest_total, sumeragi_view_change_install_total | Үҫешле ҡиммәттәр ваҡытлыса, топология, файҙалы йөкләмә йәки селтәр проблемаһын күрһәтә. |
| Ҡалған хәбәрҙәр | dropped_messages, sumeragi_consensus_message_handling_total | Йыш ҡына йөкләнеү ваҡытында түбән төшөүе latency spikes аңлата . |
| RBC баҫым | sumeragi_rbc_store_pressure, sumeragi_rbc_backpressure_deferrals_total | Яҡшы йөк ташыуҙы тергеҙеү һәм һаҡланыу өсөн нуль булмаған баҫым нөктәләре |
| Кворумға килегеҙ | sumeragi_commit_signatures_counted, sumeragi_commit_signatures_required | Иҫәпләнгән ҡултамғалар тиҙ арала кәрәкле кворумға етергә тейеш . |
Әгәр метрика бары тик /v1/sumeragi/status эсендә булһа, JSON экземплярҙы Prometheus һыртыуы менән бер үк артефакттарҙа төшөрөп ҡуйығыҙ.
Иҫәпләүҙәр Эш ағымы
Сценарийҙы билдәлә:
- Валидаторҙар һәм күҙәтеүселәр һаны
- консенсус режимы
- маҡсат TPS
- p95 һәм p99 commit-latency бюджеттары
- транзакция ҡатнашмаһы
- көтөлгән селтәр RTT, jitter һәм полоса киңлеге
Эшмәкәр конфигурацияны яҙығыҙ:
bashiroha --config ./localnet/client.toml --output-format json ops sumeragi params \ > artifacts/sumeragi-params.json curl -s "$TORII/v1/sumeragi/collectors" \ > artifacts/sumeragi-collectors.jsonЭш йөкләмәһен маҡсатҡа TPS ҡуйығыҙ.
Ярыш башында, уртаһында һәм аҙаҡтағы күрһәткестәрҙе белеү.
Йүгереүҙе һөҙөмтәлелек диапазоны таблицаһы менән классификациялау.
Әгәр диапазон уртаса йәки түбән икән, бер-бер артлы бер факторҙы алмаштырып ҡабатлағыҙ.
Баланс билдәһе отчеты өлгөһө
Эшмәкәрлек һандарын уларҙы ҡабатлау өсөн етерлек контекст менән генә баҫтырығыҙ:
- Iroha йөкләмә, сығарыу һәм билдәләр флагтары
- раҫлаусы һәм күҙәтеүсе иҫәптәре
- консенсус режимы һәм Sumeragi параметрҙары
- коллектор
k, артыҡ ебәреүr, һәм топология fanout - телеметрия профиле
- ҡорамалдар, һаҡлау һәм OS мәғлүмәттәре
- селтәр RTT, jitter, юғалтыу һәм биҙәк киңлеге фараздары
- Транзакция ҡатнашмаһы һәм файҙалы йөк күләме
- тәҡдим ителгән TPS һәм үтәү ваҡыты
- ҡабул ителгән/ҡабул ителмәгән TPS
- p50/p95/p99 commit latency
- сират тәрәнлеге һәм тығыҙлығы
- үҙгәрештәрҙе күрһәтеү, хәбәрҙәрҙе төшөрөү, RBC баҫым һәм юғалған файҙалы йөк менән иҫәпләүселәр
- CPU, иҫтәлек, диск һәм селтәрҙе файҙаланыу бер validator
Был мәғлүмәттәр булмаһа, TPS һанды анекдотик тип һанарға кәрәк.