Hồ Sơ Định Cỡ Ổ Cứng & RAM Cardinality Cho VictoriaMetrics vs Prometheus
Phương trình định cỡ trên TimescaleOps tính số byte mỗi mẫu, RAM theo số chuỗi active time-series và dung lượng NVMe cho VictoriaMetrics cùng Prometheus.
Theo tài liệu lưu trữ chính thức, Prometheus TSDB tiêu tốn trung bình ~1.3–2.2 byte mỗi mẫu và tốn nhiều RAM khi phát lại WAL với nhãn biến thiên lớn, trong khi cấu trúc LSM-tree của VictoriaMetrics nén bộ đếm đơn điệu xuống khoảng ~0.4–0.8 byte/mẫu.
| Quy Mô Luồng Mẫu | Chu Kỳ Chunk / Phân Vùng | RAM DDR5 Khuyến Nghị | Dung Lượng Ổ Đĩa Ước Tính | Cấu Hình Hạ Tầng Tham Chiếu |
|---|---|---|---|---|
| 250K Active Series • 10K/s | Daily MergeTree |
8 GB DDR5 | 120 GB Gen4 NVMe (1 yr) | Hostinger KVM 2 ($5.99/tháng) |
| 1M Active Series • 50K/s | Daily + Monthly Parts |
16–32 GB DDR5 | 400 GB Gen4 NVMe (1 yr) | Hostinger KVM 8 ($19.99/tháng) |
| 5M Active Series • 150K/s | Tiered Merge Parts |
64 GB DDR5 | 1.8 TB NVMe / ZFS (1 yr) | UltaHost VDS 64GB / InterServer |
| 15M+ Series • 500K/s (5 yr) | Cluster vmstorage |
128 GB DDR5 | 12 TB ZFS Archive | InterServer Bare-Metal Ryzen |
services:
victoriametrics:
image: victoriametrics/victoria-metrics:v1.106.0
container_name: tso-victoriametrics
restart: unless-stopped
ports:
- "127.0.0.1:8428:8428"
volumes:
- /var/lib/victoriametrics:/storage
command:
- "--storageDataPath=/storage"
- "--retentionPeriod=12"
- "--memory.allowedPercent=65"
- "--dedup.minScrapeInterval=15s"
- "--search.maxUniqueTimeseries=2000000"
1. Tốc Độ Sinh Chuỗi Nhãn Mới (Churn Rate) Quyết Định Dung Lượng RAM VictoriaMetrics
Mức tiêu thụ bộ nhớ của hệ thống lưu trữ metric phụ thuộc chủ yếu vào số lượng tổ hợp nhãn duy nhất đang hoạt động chứ không chỉ tốc độ mẫu/giây. Tuyệt đối tránh đưa request_id hoặc UUID ngắn hạn vào nhãn và kiểm tra định kỳ qua /api/v1/status/tsdb.
2. Phối Hợp VictoriaMetrics (Metric Hạ Tầng) Và Hypertable TimescaleDB (Dữ Liệu Cần JOIN)
Mô hình hiệu quả nhất là đưa bộ đếm CPU/RAM/Container thuần số vào VictoriaMetrics, còn dữ liệu cảm biến nhà máy cần JOIN trực tiếp với bảng thiết bị, khách hàng, lệnh bảo trì chuẩn SQL thì lưu trong TimescaleDB.
3. Khử Trùng Lặp Hai Trạm Thu Thập HA Trong VictoriaMetrics Giảm Một Nửa Ổ Đĩa
Khi chạy hai cụm vmagent song song để dự phòng cao, tham số --dedup.minScrapeInterval đặt bằng chu kỳ cào sẽ tự động loại bỏ các điểm trùng lặp trong quá trình trộn khối nền.
Câu Hỏi Kỹ Thuật Về TS-05 // VM-METRICS Trên TimescaleOps
Grafana có dùng lại được nguyên bản các bảng biểu đồ Prometheus trên VictoriaMetrics không?
Có. Bạn chỉ cần trỏ nguồn dữ liệu Prometheus trong Grafana vào cổng 8428 của VictoriaMetrics mà không phải chỉnh sửa biểu đồ sẵn có.
Cần dự phòng bao nhiêu RAM DDR5 cho mỗi 1 triệu chuỗi active series trên VictoriaMetrics?
Nên cấp khoảng 8 GB đến 12 GB RAM hệ thống cho mỗi 1 triệu chuỗi đang hoạt động (với độ biến động nhãn vừa phải) để bộ đệm chỉ mục đảo phản hồi ổn định.
VictoriaMetrics cần ổ Gen4 NVMe hay chạy được trên mảng lưu trữ ZFS dung lượng lớn?
Nhờ kiến trúc trộn tuần tự LSM-tree ít tốn IOPS ngẫu nhiên, VictoriaMetrics vận hành tốt trên cả KVM Gen4 NVMe lẫn kho lưu trữ ZFS nhiều Terabyte.