Շղթաների արտադրողականության համեմատություն
(Բաժին ՝ Էկոհամակարգ և ցանց)
1) Ինչո՞ ւ և ինչ համեմատենք
Նպատակն է ստեղծել վերարտադրված և չեզոք միջոց համեմատել տարբեր շղթաների արտադրողականությունը (L1, L2, ap-chain, validium/rolap) հաշվի առնելով
Արագությունները և ուշացումները ՝ 108, վերջնական, փոփոխականությունը։
Տնտեսությունը 'գործարքների և տվյալների արժեքը, ռուսական։
Կայունություն 'ռեգգի, լիվնես, դեգրադացիաներ բեռի տակ։
Տվյալների հասանելիությունը 'DA թողունակությունը և բայթ արժեքը։
Վիրահատությունները 'հանգույցների պահանջները, վիճակի չափը, հաճախորդների դիվերսիֆիկացիան։
Արդյունքը համախմբված KPI-ն է, որը թույլ է տալիս ընտրել շղթաներ/կոդեր կոնկրետ սցենարների (վճարումներ, խաղեր/միկրո-իվենտներ, կամուրջներ, DA/հրատարակություններ)։
2) Taksonomia metric (միջուկ)
2. 1 Թողունակություն և հետաձգում
Sustained TPS/QPS (կայուն թողունակություն)
Peak TPS (կարճ պիկ առանց սխալների/drop)
Time-to-Inclusion (TTI) p50/p95/p99
Time-to-Finality (TTF) p50/p95/p99 (հաշվի առնել K-ապացույցը/Chelenge-պատուհանը)
Block Utilization% (բլոկի/բատչայի լրացումը)
Vari.ru/Jitter ուշացումներ (108, CV)
2. 2 Որակ և կայունություն
Success Rate (հաջողակ tx/events%)
Reorg/Orphan Rate (հաճախականությունը և խորությունը)
Liveness SLO Hit (տեխնոլոգիական հասանելիության կատարումը)
Degradation Grace (վերահսկվող դեգրադացիա ֆեյլի փոխարեն)
2. 3 Տնտեսագիտություն և DA
Fee p50/p95/p99 (national-ում և USD-ում)
Cost-per-kB (DA) - 1 kB տվյալների հրատարակման գինը
Cost-per-Tx Class-ը «գործարքի տեսակի» գինն է 'պարզ թարգմանություն, պայմանագրի մարտահրավեր, մեծ calldata
Fee Volatility Index (Notel)
2. 4 Մոսկվան և վիճակը
Hardom Footprint (CPU/RAM/SSD/ցանցը վալիդատոր/արխիվային հանգույցի համար)
State Winwth (վիճակի/օրվա աճը)
Client Diversity Index (հաճախորդների/վերիֆիկատորների բաշխում)
Disnc Time (արագ/արխիվային սինկ)
2. 5 L2 առանձնահատկություններ
Batch TPS (սեպենսերի մոտ), Batch Size (kB)
Time-to-Batch Inclusion и Time-to-Prove (ZK) / Challenge Window (optimistic)
DA Throughput (МБ/с) и DA Failure Rate
Settlast Latency (L2 ww.L1 եզրափակիչ)
3) Մեթոդաբանություն (չեզոք և վերարտադրված)
1. Մեկ բեռի պլան (TUP - Test Use Profiles)
TUP-Express: փոքրիկ թարգմանություններ (N = 70 տոկոսը simple, 30 տոկոսը token)։
TUP-Game: Կարճ իրադարձություններ calldata-ից (մինչև 2-8 kB)։
TUP-DEX-ը միջին գազի և աճի պայմանագրեր է։
TUP-DA 'մեծ հրատարակություններ (50-250 կԲ մարտեր)։
2. Բեռի շերտերը 'ֆոն 60-80 տոկոսը SLO + իմպուլսները 120-160 տոկոսով 5-10 րոպե յուրաքանչյուր 30-60 րոպե։
3. Երկրագրությունը և ցանցը ՝ առնվազն 3 տարածք, RTT-մատրիցա, jitter/loss (0։ 5–2%).
4. Հաճախորդների ինդեքսավորումը 'առնվազն երկու հանգույցի հաճախորդներ շղթայի վրա (եթե հասանելի), նույն տարբերակները։
5. Հեռուստատեսության հավաքումը 'ճիշտ հարաբերակցություն (trace-ID), ժամանակի համաժամացումը (NTP/PTP), եզրերի ամրագրումը։
6. Եզրափակչի պատուհանները 'հստակ ուղղում K/պատուհանի վեճը։ TTF-ը հաշվի առնելով շղթայի կանոնները։
7. Սխալների իմաստը 'թերությունների տաքսոնոմիա (գազ/nonce/limit/DA-fail/overload), բացառել «սպասվող» սխալները Success Rate-ից կամ առանձնացնել առանձին։
4) Նորմալացում և anti-2019
Cost Normalization: USD по курсу на `observed_at`; `fee_usd = fee_native × price_usd_at_t`.
Gas/Weight Equivalence: Համեմատություն «վիրահատության դասերի» հետ, ոչ թե «հում գներով»։
Hardware-Adjusted TPS: `TPS_per_$ = Sustained_TPS / (Monthly_Node_Cost_USD)`
Fox DA Compare: գինը 1 կԲ-ի և p95-ի համար հրատարակման ուշացում։
Volatility Windows: Շաբաթական/ամսական պատուհաններ, մեդիան և IQR-ը «տարբեր ռեկորդների» փոխարեն։
Cold vs Warm 'տաքացնելով քեշը; չափումները չափելուց հետո։
MEV/Pikovie-ը 'բացառել «շուկայի անոմալիաները» կամ առանձնացնել առանձին մետրը։
5) Համախմբված KPI (վերջնական ցուցանիշներ)
AlekScore (CPS) - 0.. 100, քաշային գումար
Throughput (30%), Finality (25%), Cost (20%), Stability (15%), Uptime/Liveness (10%).
Քաշային գործակիցները տեղադրվում են սցենարի տակ (օրինակ, Finality/Cost-ի վճարման համար, խաղերի համար porttThroughput/Stability/DA)։
Effective Throughput @ SLO-ը կայուն TPS-ն է 'պահպանելով «TTF _ p95 no X», «Success no Y%,» «Fee _ p95 no Z»։
Cost-to-Serve per 1k Ops-ը դասարանի 1000 վիրահատության ամբողջական արժեքն է (ներառյալ DA/settlam)։
Finality SLA Hit% -ը վիրահատությունների մասն է, որոնք ավարտվել են նպատակային պատուհանում։
6) SLI/SLO համեմատության համար
SLO-ի օրինակները (սցենարի համաձայն)
Payments: `TTF_p95 ≤ 10s`, `Success ≥ 99. 7%`, `Fee_p95 ≤ $0. 01`.
Games/Events: `TTI_p95 ≤ 500ms`, `TTF_p95 ≤ 3s`, `Success ≥ 99. 5%`, `DA_p95 ≤ 1s`.
DA/Publishing: `Cost_per_kB ≤ $0. 0005`, `Publish_p95 ≤ 2s`, `Finality_p95 ≤ 60s`.
L2 Settlect: «Settle _ p95 no 10m» (ZK )/« Cheleng պատուհանը »optimistic համար։
7) Դաշբորդները (հանրաքվեներ)
Perf Lens (real-tim/ժամ): TTI/TTF p50/p95/p99, Block Utilization, Success Rate, Fee p95, Error taxonomy։
Cost & DA: Cost/kB, Fee-volatility, DA throughput/latency, отказ DA.
Stability: Reorg Rate, Liveness SLO Hit, Burn-rate սխալներ, սեպենսերի (L2)։
Capacity Planning: Sustained vs Peak TPS, Hardware-Adjusted TPS, State Growth.
8) Տվյալների և տրամաբանության սխեմա (կեղծ-SQL)
Բենչարքի հում իրադարձությունները
sql
CREATE TABLE bench_events (
id TEXT PRIMARY KEY,
chain_id TEXT, layer TEXT, -- L1 L2 app scenario TEXT, -- payments game dex da sent_at TIMESTAMPTZ,
included_at TIMESTAMPTZ,
finalized_at TIMESTAMPTZ,
size_bytes INT,
status TEXT, -- success fail_gas fail_da fail_overload...
fee_native NUMERIC, fee_usd NUMERIC,
region TEXT, client TEXT, node_profile TEXT
);
միջուկի միավորումը մետրիկ
sql
WITH base AS (
SELECT,
EXTRACT(EPOCH FROM (included_at - sent_at)) AS tti_s,
EXTRACT(EPOCH FROM (finalized_at - sent_at)) AS ttf_s
FROM bench_events
WHERE status LIKE 'success%'
)
SELECT chain_id, scenario,
PERCENTILE_CONT(0. 5) WITHIN GROUP (ORDER BY tti_s) AS tti_p50,
PERCENTILE_CONT(0. 95) WITHIN GROUP (ORDER BY tti_s) AS tti_p95,
PERCENTILE_CONT(0. 95) WITHIN GROUP (ORDER BY ttf_s) AS ttf_p95,
AVG(fee_usd) AS fee_avg_usd,
100. 0 SUM(CASE WHEN status='success' THEN 1 ELSE 0 END) / COUNT() AS success_rate
FROM bench_events
GROUP BY chain_id, scenario;
Effective Throughput @ SLO
sql
SELECT chain_id, scenario,
COUNT() / NULLIF(EXTRACT(EPOCH FROM (MAX(sent_at) - MIN(sent_at))),0) AS tps_effective
FROM bench_events
WHERE status='success'
AND EXTRACT(EPOCH FROM (finalized_at - sent_at)) <=:ttf_p95_slo
AND fee_usd <=:fee_p95_slo
GROUP BY chain_id, scenario;
9) Կոմպոզիտային ինդեքսը (հաշվարկման օրինակ)
yaml weights:
throughput: 0. 30 finality: 0. 25 cost: 0. 20 stability: 0. 15 liveness: 0. 10
scoring:
throughput: normalize(Sustained_TPS, p10, p90)
finality: invert(normalize(TTF_p95, p10, p90))
cost: invert(normalize(Fee_p95_usd, p10, p90))
stability: invert(normalize(Var_TTF, p10, p90) + normalize(ReorgRate, p10, p90)/2)
liveness: SLO_hit_pct
10) L2 և միջանձնային հատկություններ
Optimistic L2: նշեք «կրկնակի» TTF-ը մինչև L2-ինկուլիզացիան և մինչև challenge պատուհանի ավարտը։
ZK L2 'բաժանել հրատարակման ժամանակը L1-ում և pruff-ի/ստուգման ժամանակը։ հաշվի առնել լճակների հաստատակամությունը։
Validae/DA-utsors: DA-մետրիկները պարտադիր են (throughput/cost/failure), հակառակ դեպքում համեմատությունը սխալ է։
Միջանձնային վիրահատությունները 'հաշվել E2E TTF-ը կամուրջային շարժիչների համար (ռուսական նպատակների աղբյուրը), հաշվի առնելով K/DA/challenge։
11) Anti-patterns համեմատություն (ինչ խուսափել)
Համեմատել «ռեկորդային պիկը» մեկ շղթայի հետ «միջին» մյուսի հետ։
Անտեսել տվյալների արժեքը և անկայունությունը։
Հաշվի չառնել վերջնական (համեմատել «inclusion» որպես «finality»)։
Նկարել նետերը «կոտրված» վրա և տեղափոխվել սառը։
Խառնել վիրահատությունների տարբեր դասարաններ առանց նորմալացման։
Հաճախորդների/դելգայի տարբերակները չփակելը կորցնում է վերարտադրողականությունը։
12) Թեստերի կազմաձևումը և պարամետրերը (կեղծ-YAML)
yaml benchmark:
scenarios:
- name: payments mix: { simple_transfer: 0. 7, token_transfer: 0. 3 }
slo: { ttf_p95_s: 10, success_pct: 99. 7, fee_p95_usd: 0. 01 }
- name: game mix: { small_event_2kb: 0. 6, medium_event_8kb: 0. 4 }
slo: { tti_p95_ms: 500, ttf_p95_s: 3 }
- name: da mix: { batch_50kb: 0. 5, batch_250kb: 0. 5 }
slo: { publish_p95_s: 2, cost_kb_usd: 0. 0005 }
load:
background_utilization_pct: 70 spikes: { multiplier: 1. 4, duration_min: 10, period_min: 45 }
regions: [eu-central, us-east, ap-south]
network_faults: { loss_pct: 1. 0, jitter_ms: 50 }
node_profiles:
validator: { cpu: "16c", ram_gb: 64, ssd_nvme_tb: 2, bw_gbps: 1 }
archive: { cpu: "32c", ram_gb: 128, ssd_nvme_tb: 8, bw_gbps: 2 }
13) Հաշվետվություններ և տեսողություններ
Սցենարների համախմբված ֆորումը 'Effective TPS, TTI/TTF p95, Fee p95, Cost/kB, Success%։
Ռադար աղյուսակը (սցենարի վրա) 'Throughput/Finality/Cost/Stability/Liveness։
Ժամանակավոր շարքերը ՝ Fee-volatility, DA լատինականությունը, Reorg spikes։
Մատրիցան «վիրահատության շղթա» 'Cost-to-Serve և TTF։
14) Գործընթացներ և դերեր
Benchmark Owner: մեթոդաբանություն/գործիքներ, տարբերակների վերահսկում։
Infra Owner: 108, հաճախորդը, դելիգները, տարածքները։
Մոսկվա/BI 'ագրեգացիա, ճիշտ ստուգում, SLO dashbords։
Express/Compliance: Գաղտնիության և լոգարանների ճկունության վերահսկումը։
Governational: Արդյունքների հրապարակումը, ինդեքսի կշիռների փոփոխությունը։
15) Playbook No. menchark
Դելեգների/տարբերակների դրեյֆը 'սերիայի ռուսական կանգառը, diapshot-ի ամրագրումը, որը վերագրանցվել է ճիշտ պարամետրերով։
Ցանցի անոմալիաները (պլանավորված սահմաններից դուրս) 'պատուհանի նշանը որպես «կոնտամինացված», շարքի խոհարար։
DA/pruver-ի ձախողումը 'առանձնացնել առանձին դեպքը, կրկնել DA/ZK-ի տակ։
Գնի անսպասելի անկայունությունը 'ամրագրել միջին USD պատուհանը, տեղադրել միջակայքը։
16)
1. Հաստատել սցենարները (TUP) և համախմբված ինդեքսի քաշը։
2. Ամրագրել հանգույցների/հաճախորդների, տարածաշրջանների և ցանցային պայմանները։
3. Իրականացնել հեռաչափության հավաքումը ժամանակի հարաբերակցության և համաժամացման հետ։
4. Կարգավորել fee/DA/գործողության դասարանների նորմալիզացիան։
5. Համաձայնեցնել SLI/SLO և dashbords մոդելները։
6. Փորձնական շարք անցկացնելը, վերարտադրողականությունը, բեռը մաքրելը։
7. Հրատարակել զեկույցները գենդերային, տարբերակների և ամսաթվերի ամբողջական հավելվածով։
17) Գլոսարիա
TTI/TTF-ն ժամանակն է մինչև ներառումը/եզրափակիչ։
DA-ն տվյալների հասանելիության շերտն է (Windows Availability)։
Sustained/Peak TPS-ը կայուն/պիկ թողունակություն է։
Liveness-ը ցանցի կարողությունն է ապացուցել բլոկները/բաթերը։
Challenge Express-ը optimistic-rolaps-ի կասկածման պատուհան է։
State Winwth-ը ցանցի վիճակի մեծացումն է։
Hardom-Adjusted TPS-ը բաց ունակություն է, հաշվի առնելով հանգույցի արժեքը։
Արդյունքն այն է, որ շղթաների արտադրողականության ճիշտ համեմատությունը «ով ավելի շատ TPS» մրցավազք չէ, այլ կարգապահություն 'մեկ սցենարներ, արժեքի և տվյալների ազնիվ նորմալացում, վերջնական և կայունության բարձրացում, թափանցիկ եզրեր և վերարտադրողական թեստեր։ Այս շրջանակին հետևելով ՝ էկոհամակարգը ստանում է համեմատելի, հարմարավետ փոխաբերական լուծումներ ՝ մինչև միջանձնային ճարտարապետության պլանավորում։