Бенчмарки по трафику
1) Зачем нужны бенчмарки
Бенчмарки по трафику — это повторяемые испытания, позволяющие сравнивать конфигурации сети, провайдеров и микросетей по скорости, устойчивости, стоимости и соблюдению инвариантов (порядок, финальность, комплаенс). Они:- дают числовую базу для SLO/SLA и QF-бонусов;
- выявляют «узкие места» (tail, очереди, финальность, egress);
- позволяют честно сопоставлять домены/цепи/провайдеров;
- служат входом для治理-решений (квоты, цены, лимиты).
2) Область охвата
Транспорт/маршрутизация: POP/edge, anycast, QUIC/HTTP/3.
Messaging & Order: outbox/inbox, идемпотентность, strict-order per key.
DA & Бриджи: throughput/GB, finality lag, challenge windows.
Мультичейн: кросс-чейн события и их финальность.
Экономика: Cost/Req, Cost/GB DA, Cost/egress.
Комплаенс: гео/возраст/санкции, политика экспорта данных.
Наблюдаемость: трассировка, метрики p95/p99, DLQ/replay.
3) Классы QoS (нагрузочные профили)
Q4 — дедлайновые команды: порядок и финальность критичны.
Q3 — упорядоченные потоки: причинность по ключу (user/session/asset).
Q2 — exactly-once эффективно: биллинг/снапшоты/перенос прав.
Q1/Q0 — бест-эффорт: аналитика/индексация/телеметрия.
Для каждого профиля задаются объем, шаблон трафика, дедлайны, допускаемые ретраи.
4) Набор бенчмарков (suite)
4.1 Микротесты (микро-SUT)
Latency RTT/OWD: p50/p95/p99, TailAmplification = p99/p50.
Throughput max: msgs/s, tx/s, GB/s (DA/egress).
Queue/Backpressure: глубина очередей, время схождения.
Idempotency cost: дубликаты, время дедупликации.
Order violations: out-of-order/10⁶ сообщений.
4.2 Макротесты (end-to-end)
Route Utility: сравнение маршрутов по утилитарной функции.
Finality-aware: время до финальности на бриджах/DA.
Cost-aware: цена запроса при фиксированных SLO.
Compliance-gated: скорость/успешность прохождения гео/возраст-правил.
4.3 Стойкость
Soak/Endurance: 24–72 ч стабильной нагрузки.
Chaos/Game-Day: падение POP/бриджа/DA, ценовой шок, гео-блок.
Hot-Shard Relief: всплески «горячих» ключей, подсегментация.
5) Методология
5.1 Генераторы трафика
По ключу причинности: консистентный hashing, регулируемая кардинальность ключей.
Шаблоны нагрузки: Poisson/Bursty/Trace-replay, «спортики» для Q4.
Ретраи: экспоненциальный backoff с джиттером, лимиты per QoS.
5.2 Окружение
Топологии: mesh / hub-and-spoke / edge-centric.
Региональность: меж-POP задержки, кросс-континент.
Стабилизация: warm-up, steady window, cool-down.
5.3 Инварианты (жесткие)
`Order=true` (per key для Q3/Q4), `Idempotency=true`, `Quotas=true`, `Compliance=true`.
6) Эталонные метрики и формулы
SuccessRate = 1 − (timeouts + errors)/requests
TailAmplification = p99/p50 (цель: ↓)
Headroom = (cap − current)/cap
Cost/Req = Σ(ресурс×ставка)/успешные_запросы
FairnessIndex (Jain) = (Σx)²/(n·Σx²) по квотам/ресурсам
FinalityScore = f(lag, variance, reorgs)
QualityFactor (QF) = f(success, p95, DLQ, finality)
SLO-ориентиры (пример):- Q4: success ≥ 99.99%, p95 ≤ 200 мс, DLQ = 0, MTTR ≤ 15 мин.
- Q3: out-of-order ≤ 10⁻⁶/сообщ., p95 ≤ 500 мс.
- DA/Bridge: финальность ≤ 3×T_block, ложные подтверждения = 0.
7) Матрица бенчмарков (пример)
8) Утилитарная функция маршрута
Utility(route) =
wL·Latency_p95_EWMA
+ wJ·Jitter
+ wQ·QueueDepth
+ wC·Cost_per_unit (gas + DA + egress + compute)
+ wF·FinalityTime
+ wR·RiskScore
+ wA·AvailabilityPenalty
+ wG·Geo/PolicyPenalty
Профили весов — по QoS. Решения принимаются на p95/p99 (перцентили, а не средние).
9) Репорты и дашборды
Traffic Bench Overview: p50/p95/p99, TA, success, cost/req по бенчам.
Finality & Bridge: финальность, reorg, challenge.
DA/Storage: throughput/GB, retention, proof availability.
Queues & Backpressure: depth, lag, recovery time.
Fairness & Quotas: Jain, использование квот, noisy-neighbor.
Economy Panel: цены ресурсов, доля «дорогих» маршрутов.
Compliance View: блоки/фолсы, TTL, экспорт/ретеншн.
10) Использование результатов
Квоты и лимиты: перераздача по провайдерам и маршрутам.
Ценообразование: динамика wC, скидки для устойчивого качества.
RNFT-правки: обновление KPI/штрафов/эскроу.
治理: пропозалы смены весов/политик (с sunset-окнами).
Стимулы: QF-бонусы доменам/провайдерам, выдерживающим SLO.
11) Плейбук запуска (пошагово)
1. Определите цели и QoS: какие SLO проверяем и где «болит».
2. Соберите трейс-данные: базовые профили трафика, ключи причинности.
3. Подготовьте окружение: топология, warm-up, трассировка `x_msg_id`.
4. Задайте политику ретраев/идемпотентности и окна финальности.
5. Прогоните микро-тесты: RTT/OWD, throughput, очередь, order.
6. Прогоните макро-тесты: utility-маршрутизация, финальность, стоимость.
7. Soak/Chaos: endurance 24–72 ч, сценарии отказов/шоков.
8. Соберите отчет: метрики, отступления, RCA, рекомендации.
9. Примите решения治理: квоты, цены, QF, лимиты, sunset-правки.
10. Повторите цикл: после оптимизаций — регресс-бенч.
12) KPI программы бенчмаркинга
Качество: p95/p99 ↓, TA ↓ при фиксированном throughput.
Доставка: success ↑, DLQ depth ↓, replay success ↑.
Финальность: FinalityTime ↓, ложные подтверждения = 0.
Экономика: Cost/Req ↓, доля «дешевых» маршрутов ↑.
Справедливость: Jain в коридоре, падение «noisy-neighbor».
Устойчивость: MTTR медиана ↓, flap-rate ↓.
Комплаенс: 100% прохождение geo/age/санкций.
13) Чек-лист прод-готовности
- Описаны профили QoS, SLO и бюджеты ошибок
- Настроены генераторы трафика (ключи, паттерны, ретраи)
- Включены outbox/inbox, идемпотентность, порядковые барьеры
- Заданы окна финальности и DA/bridge конфигурации
- Активна трассировка и сбор метрик pXX/queues/cost/finality
- Определены утилитарные профили и веса по QoS
- Готовы панели и экспорт отчетов, контрольные пороги
- План Soak/Chaos и протокол пост-мортемов
- Процедуры治理 и sunset-окна для изменений
- Страховой пул/эскроу и QF-механика компенсаций
14) Глоссарий
TailAmplification: p99/p50 — «сила хвоста».
FinalityTime: окно до необратимости (мост/DA/цепь).
Utility-routing: выбор пути по агрегированной полезности.
RNFT: контракт отношений/прав/лимитов и KPI.
QF: множитель выплат за качество.
DLQ/Replay: карантин/переобработка.
Soak/Chaos: долговременный и отказной тесты устойчивости.
15) Итог
Бенчмарки по трафику — это операционный стандарт качества. Они превращают дискуссии о «быстрее/дешевле/надежнее» в воспроизводимые цифры и управляемые решения: где менять квоты и цены, кого поощрять QF-бонусами, как перестраивать маршруты и что чинить в инфраструктуре. Регулярный цикл бенчмаркинга удерживает экосистему в зеленой зоне SLO при контролируемой стоимости и без компромиссов по порядку, финальности и комплаенсу.