GH GambleHub

Porównanie wydajności obwodu

(Sekcja: Ekosystem i sieć)

1) Dlaczego i co porównujemy

Celem jest stworzenie powtarzalnego i neutralnego sposobu porównywania wydajności różnych łańcuchów (L1, L2, łańcuch aplikacji, walidium/rollup) z uwzględnieniem:
  • Prędkości i opóźnienia: włączenie, finalizacja, zmienność.
  • Ekonomia: koszt transakcji i danych, stabilność prowizji.
  • Stabilność: reorgs, prysznice, degradacja pod obciążeniem.
  • Dostępność danych: przepustowość i koszt bajtu DA.
  • Systemy operacyjne: wymagania dotyczące węzłów, wielkości państwa, dywersyfikacji klientów.

Wynikiem są skonsolidowane KPI, które pozwalają wybrać łańcuchy/domeny dla określonych scenariuszy (płatności, gry/mikroprzedsiębiorstwa, mosty, DA/publikacje).

2) Taksonomia mierników (rdzeń)

2. 1 Przepustowość i opóźnienie

Trwały TPS/QPS

Szczyt TPS (krótki szczyt bez błędu/spadku)

Czas do włączenia (TTI) p50/p95/p99

Czas do końca (TTF) p50/p95/p99

Wykorzystanie bloku%

Wariancja/Jitter opóźnień (, CV)

2. 2 Jakość i zrównoważony rozwój

Wskaźnik sukcesu (% udanych tx/zdarzeń)

Wskaźnik Reorg/Sierota (częstotliwość i głębokość)

Livity SLO Hit

Grace degradacji (kontrolowana degradacja zamiast awarii)

2. 3 Gospodarka i DA

Opłata p50/p95/p99 (w walucie ojczystej i w USD)

Cost-per-kB (DA) - cena publikacji 1 kB danych

Cost-per-Tx Class - „typ transakcji” cena: prosty transfer, wywołanie umowy, duża calldata

Wskaźnik zmienności opłat

2. 4 Węzły i status

Footprint sprzętowy (CPU/RAM/SSD/network for validator/archive node)

Wzrost państwa

Wskaźnik różnorodności klienta

Czas synchronizacji

2. 5 Specyfika L2

Batch TPS (w Sentenser), Batch Size (kB)

Włączenie czasowe do partii - Czas-do-Prove (ZK )/Okno wyzwań (optymistyczne)

Współczynnik awarii DA Δput (М,/,) - DA

Opóźnienie rozliczeń (L2 → finalizacja L1)

3) Procedura pomiaru (neutralna i powtarzalna)

1. Profile zastosowań testowych (TUP):

TUP-Pay: małe transfery (N = 70% proste, 30% token).
TUP-Game: krótkie wydarzenia z calldata (do 2-8 kB).
TUP-DEX: Kontrakty na gaz średni i kontrakty na przekroczenie prędkości.
TUP-DA: duże publikacje (50-250 kB batchami).

2. Warstwy obciążenia: tło 60-80% docelowych impulsów SLO + 120-160% przez 5-10 minut co 30-60 minut.

3. Geografia i sieć: co najmniej 3 regiony, matryca RTT, zastrzyki jitter/strata (0. 5–2%).

4. Dywersyfikacja klienta: co najmniej 2 klienci węzłów na obwód (jeśli dostępne), identyczne wersje.

5. Kolekcja telemetrii: poprawna korelacja (trace-ID), synchronizacja czasu (NTP/PTP), konfiguracje mocowania.

6. Okna finalizacji: wyraźne ustawienie sporu K/window; Przeczytaj TTF z uwzględnieniem zasad obwodu.

7. Semantyka błędów: taksonomia awarii (gaz/nonce/limit/DA-file/overload), wyłączenie błędów „oczekiwanych” ze wskaźnika sukcesu lub wyróżnienie oddzielnie.

4) Normalizacja i anty-stronniczość

Koszt Normalizacja: USD мрса на 'observed _ at'; 'fee _ usd = fee_native × price_usd_at_t'.
Równoważność gazu/masy: porównanie przez „klasy operacyjne”, a nie „gazy surowe”.

Regulowany sprzętowo TPS: 'TPS _ per _ $ = Sustained_TPS/( Monthly_Node_Cost_USD)'

Fair DA Porównaj: cena za 1kB i p95 opóźnienie publikacji.
Okna zmienności: Okna tygodniowe/miesięczne, mediana i IQR zamiast „rekordów jednorazowych”.
Cold vs Ciepło: podgrzewanie buforów; pomiary po ustabilizowaniu.
Prowizje MEV/Peak: wykluczyć „anomalie rynkowe” lub podkreślić oddzielną metrykę.

5) Zestawienie KPI (ogółem)

Core Performance Score (CPS) - 0.. 100, suma wagowa:
  • Przepustowość (30%), Finalność (25%), Koszt (20%), Stabilność (15%), Uptime/Livity (10%).
  • Współczynniki korygujące są tworzone zgodnie ze scenariuszem (na przykład w odniesieniu do gier w kategorii „Na zakończenie ”/„ Koszty płatności”, „Na przykład” w przypadku gier „na rzecz stabilności”).

Efektywna przepustowość @ SLO - stabilny TPS podlegający 'TTF _ p95 ≤ X', 'Success ≥ Y%', 'Fee _ p95 ≤ Z'.
Cost-to-Serve na 1k Ops - całkowity koszt przetwarzania 1000 operacji klasy (w tym DA/rozliczenie).
Finalność SLA Hit% - udział operacji zakończonych w oknie docelowym.

6) SLI/SLO do porównania

Przykłady SLO (skryptowane):
  • Płatności: „TTF _ p95 ≤ 10s',” Sukces ≥ 99. 7% ',' Opłata _ p95 ≤ 0 USD. 01`.
  • Gry/Wydarzenia: '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'.
  • Rozrachunek L2: 'Settle _ p95 ≤ 10m' (ZK )/' challenge window 'dla optymizmu.

7) Deski rozdzielcze (układ odniesienia)

Obiektywy Perf (czas rzeczywisty/godzina): TTI/TTF p50/p95/p99, Wykorzystanie bloku, Wskaźnik sukcesu, Opłata p95, Taksonomia błędu.
Koszt & DA: Koszt/kB, Zmienność opłat, przepustowość/opóźnienie DA, откаz DA.
Stabilność: Wskaźnik Reorg, Livity SLO Hit, Błędy prędkości spalania, sentenser uptime (L2).
Planowanie pojemności: Trwały vs Peak TPS, Sprzęt dostosowany TPS, Wzrost stanu.

8) Schemat i logika danych (pseudo-SQL)

Nieprzetworzone zdarzenia wzorcowe

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
);

Agregacja jądra metrycznego

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;

Efektywna przepustowość @ SLO Score

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) Wskaźnik złożony (przykład obliczeń)

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
💡 „normalizacja (x, p10, p90)” - przekształcenie liniowe do [0,1] przez percentyle; „inwertuj (y) = 1 − y”.

10) Cechy L2 i międzysieciowe

Optymistyczny L2: wskazać „podwójny” TTF - przed L2-inclusion i przed końcem okna wyzwania.
ZK L2: podzielić czas publikacji na L1 i czas generowania/weryfikacji dowodu; wziąć pod uwagę tolerancję błędów u kontrolerów.
Validium/DA outsource: wymagane są wskaźniki DA (przepustowość/koszt/awaria), w przeciwnym razie porównanie jest nieprawidłowe.
Operacje cross-chain: czytaj E2E TTF dla scenariuszy mostowych (istochnik → tsel), biorąc pod uwagę K/DA/challenge.

11) Wzorce antykonkurencyjne (czego należy unikać)

Porównaj "rekordowy szczyt' jednego łańcucha z" średnią "drugiego.
Ignorowanie kosztów danych i zmienności prowizji.
Ignoruj finalizację (porównaj „włączenie” jako „finalność”).
Strzelać metryki na „ciepłym” węźle i przenieść do zimnego.
Mieszać różne klasy operacji bez normalizacji.
Nie akceptuj wersji/konfiguracji klienta - odtwarzalność jest stracona.

12) Konfiguracje i parametry badań (pseudo-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) Sprawozdawczość i wizualizacja

Tabela podsumowująca według scenariusza: Efektywny TPS, TTI/TTF p95, Opłata p95, Koszt/kB, Sukces%.
Wykres radarowy (na skrypt): Przepustowość/Finalność/Koszt/Stabilność/Urok.
Seria czasu: Zmienność opłat, opóźnienie DA, kolce Reorg.
Koszt × macierz łańcucha do klasy do obsługi i TTF.

14) Procesy i role

Właściciel benchmark: metodologia/narzędzia, kontrola wersji.
Infra Owner: węzły, klienci, konfiguracje, regiony.
Dane/BI: agregacje, walidacja, deski rozdzielcze SLO.
Bezpieczeństwo/Zgodność: kontrola prywatności i poprawności dzienników.
Zarządzanie: publikowanie wyników, zmiana wagi indeksu.

15) Incydenty wzorcowe Playbook

Dryf konfiguracji/wersji: natychmiast zatrzymać serię, popełnić migawkę, ponownie uruchomić z poprawnymi parametrami.
Anomalie sieciowe (poza planowanymi): oznaczanie okna jako „skażone”, powtarzanie serii.
Awaria DA/prover: wydzielić oddzielny incydent, powtórzyć podgrupę DA/ZK.
Nieoczekiwana zmienność cen: naprawić średnie okno USD, dołączyć zakres.

16) Lista kontrolna wdrażania

1. Zatwierdzać scenariusze (TUP) i współczynniki sumaryczne.
2. Rejestruj konfiguracje hosta/klienta, regiony i warunki sieciowe.
3. Wdrożyć kolekcję telemetrii z korelacją i synchronizacją czasu.
4. Ustaw normalizację klas opłat/DA/operacji.
5. Uzgodnić układy SLI/SLO i deski rozdzielczej.
6. Przeprowadzić operację pilotażową, sprawdzić odtwarzalność, skalibrować obciążenia.
7. Publikuj raporty z pełnym zastosowaniem konfiguracji, wersji i dat.

17) Słownik

TTI/TTF - czas na włączenie/finalizację.
DA - warstwa dostępności danych.
Utrzymany/szczytowy TPS - utrzymany/szczytowy przepustowość.
Livity - zdolność sieci do potwierdzenia bloków/partii.
Wyzwanie okno - okno wyzwanie w optymistycznych rollups.
Wzrost państwa - wzrost wielkości państwa sieci.
Regulowany sprzętowo TPS - przepustowość, biorąc pod uwagę koszt węzła.

Najważniejsze: prawidłowe porównanie wydajności łańcucha nie jest wyścigiem „kto jest bardziej TPS”, ale dyscypliną: jednolite scenariusze, uczciwą normalizację kosztów i danych, rozliczanie finalizacji i stabilności, przejrzyste konfiguracje i powtarzalne testy. Zgodnie z tymi ramami ekosystem otrzymuje porównywalne, decyzyjne mierniki - od wyboru miejsca na produkt do planowania architektur międzysystemowych.

Contact

Skontaktuj się z nami

Napisz do nas w każdej sprawie — pytania, wsparcie, konsultacje.Zawsze jesteśmy gotowi pomóc!

Telegram
@Gamble_GC
Rozpocznij integrację

Email jest wymagany. Telegram lub WhatsApp są opcjonalne.

Twoje imię opcjonalne
Email opcjonalne
Temat opcjonalne
Wiadomość opcjonalne
Telegram opcjonalne
@
Jeśli podasz Telegram — odpowiemy także tam, oprócz emaila.
WhatsApp opcjonalne
Format: kod kraju i numer (np. +48XXXXXXXXX).

Klikając przycisk, wyrażasz zgodę na przetwarzanie swoich danych.