VictoriaMetrics: scaling to 100 million metrics per second (EN)
summary
VictoriaMetrics is a Go time-series DB with single-node and cluster modes, optimized for parallel parsing, per-core compression and lock-free buffers. Benchmarked with a Prometheus-like load generator scraping ~800k targets (≈1 billion series), the cluster sustains 100 million samples/sec sustained 24h and ingests >8 trillion samples; single cores reach 300k samples/sec per CPU ingest and ~50M samples/sec per core for queries. Test hardware: GKE with 46 storage nodes (16 CPU/55GB/2TB HDD), 18 insert nodes, 1152 CPUs total; network peaked ~140 Gbps, disk writes ~3 GB/s, and results are stable.
AI-written summary · about
chapters (14)
- 0:00Introduction to speaker
- 1:30VictoriaMetrics overview
- 2:51Single node vs cluster
- 4:06Data ingestion optimizations
- 6:16Query path performance
- 7:27Single-node benchmarks
- 10:10Cluster architecture
- 11:56Scaling the cluster
- 13:59Cluster performance limits
- 15:54The 100 million benchmark
- 18:28Benchmark configuration
- 21:01Benchmark infrastructure
- 25:31Benchmark results
- 29:22Q&A and conclusion
related talks
40mScale Your Monitoring Solution With the VictoriaMetrics Ecosystem
01h 00mHow do We Keep Metrics for a Long Time in VictoriaMetrics
30mHow We Scaled Metrics Monitoring for 10,000 Applications With Victoria...
11h 43mPercona Community Live Conference - Day 1 - Open Source Databases Conference
35mWorking with filesystem in Time Series database
31mObservability: Dust Off Prometheus with VictoriaMetrics
28mHow to reduce expenses on monitoring with VictoriaMetrics
33mAggregating metrics in-flight: challenges and opportunities
