Tracking epic for evolving sei-load from a throughput generator into a DB-style workload modeler for benchmarking Sei's EVM under controlled key-contention, tx-size, and load distributions.
Thesis: Does a change move Sei's EVM throughput/latency under controlled key-contention and tx-size — and can I trust the comparison? Primary use case: A/B benchmarking (PR-vs-main) on harbor.
Design (signed off, merged): https://github.com/sei-protocol/platform/blob/main/docs/designs/sei-load-workload-modeler.md
Approach borrows the established canon — YCSB distribution taxonomy (hot keys / size buckets / op mix), wrk2/Vegeta open-loop + HdrHistogram (coordinated-omission-correct latency), Diablo/Caliper blockchain metrics.
Phase 1 (MVP — tunable contention + size + trustworthy A/B numbers)
Blocked / upstream
Deferred (trigger-gated — see design "Deferred" section, not yet active)
Multi-contract/hot-contract sets · --workload presets · seiload_run_info{} gauge · wallet-skew distribution · full YCSB A–F matrix + latency-over-time · Poisson/bursty arrival.
Backwards compatibility (contract — applies to every Phase 1 PR)
Additive: optional fields default to today's behavior; deprecate-don't-delete existing scenarios (StorageRW added alongside ERC20Conflict); fence the intentional latency-semantics change behind methodology_version.
Suggested order
#34 (measurement foundation) → #35 (distribution) → #36 + #37 (contention + size, parallelizable) → #38 (run-summary ties it together). #39 unblocks once the sei-chain metric names land.
Tracking epic for evolving sei-load from a throughput generator into a DB-style workload modeler for benchmarking Sei's EVM under controlled key-contention, tx-size, and load distributions.
Thesis: Does a change move Sei's EVM throughput/latency under controlled key-contention and tx-size — and can I trust the comparison? Primary use case: A/B benchmarking (PR-vs-main) on harbor.
Design (signed off, merged): https://github.com/sei-protocol/platform/blob/main/docs/designs/sei-load-workload-modeler.md
Approach borrows the established canon — YCSB distribution taxonomy (hot keys / size buckets / op mix), wrk2/Vegeta open-loop + HdrHistogram (coordinated-omission-correct latency), Diablo/Caliper blockchain metrics.
Phase 1 (MVP — tunable contention + size + trustworthy A/B numbers)
Distributionprimitive (uniform/zipfian, seeded)StorageRWcontention contract + key distributionBlocked / upstream
Deferred (trigger-gated — see design "Deferred" section, not yet active)
Multi-contract/hot-contract sets ·
--workloadpresets ·seiload_run_info{}gauge · wallet-skew distribution · full YCSB A–F matrix + latency-over-time · Poisson/bursty arrival.Backwards compatibility (contract — applies to every Phase 1 PR)
Additive: optional fields default to today's behavior; deprecate-don't-delete existing scenarios (StorageRW added alongside ERC20Conflict); fence the intentional latency-semantics change behind
methodology_version.Suggested order
#34 (measurement foundation) → #35 (distribution) → #36 + #37 (contention + size, parallelizable) → #38 (run-summary ties it together). #39 unblocks once the sei-chain metric names land.