talk.gyuho.dev/distributed-load-generator-avalanche-2022.html
Loads from a single machine, no visibility of true TPS
If we are to simulate real-world workloads, the loads must be generated in a distributed manner with full observability into accepted transaction counts and its timestamps.
avalanche-ops/blizzard can automate all these!
Add transaction accepted count metric to subnet-evm
Container size to measure throughput/block size
Unix timestamps for each accepted block, useful for computing TPS
prometheus-manager to match new metrics with regex
prometheus-manager to match new metrics with regex
prometheus-manager to match new metrics with regex
prometheus-manager to match new metrics with regex
Command-line interface to spin up worker machines
Agent that runs on remote machines
"blizzardup" control plane spins up worker machines
"blizzard" agents send loads in parallel using Rust to generate X/C/subnet-evm loads
Example metrics while loads are being sent
TPS = (tx_accepted_count cur - prev) / (last_accepted_timestamp cur - prev)
Example "blizzardup" command
When "blizzardup" command completes