TSO DossierTimescaleOps Hồ Sơ Định Cỡ Chuỗi Thời Gian Cảm Biến IoT & Hypertable PostgreSQL
English Dossier (EN)
TS-05 // VM-METRICS // LƯU TRỮ METRIC LSM-TREE • ĐỊNH CỠ RAM THEO CARDINALITY

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.

Ma Trận Định Cỡ Phần Cứng Tất Định Trên TimescaleOps: TS-05 // VM-METRICS
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
Các mốc dung lượng tính theo phương trình tất định của TimescaleOps; biểu phí công khai đối chiếu ngày 2026-11-12 từ trang thanh toán chính thức của hãng (`https://www.hostinger.com/vps-hosting`, `https://www.vultr.com/pricing/`, `https://ultahost.com/vds-hosting`, `https://www.interserver.net/vps/`, `https://chemicloud.com/wordpress-hosting`) — giá khuyến mãi và gia hạn có thể thay đổi.
Docker Compose — Single-Node VictoriaMetrics 12-Month Retention Configuration
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.