Promscale vs VictoriaMetrics: measuring resource usage in production

Benchmark setup

                                    /--> VictoriaMetrics
2000 x node_exporter <-- vmagent --|
\--> Promscale
global:
scrape_interval: 30s
scrape_configs:
- job_name: node_exporter
static_configs:
{% for n in range(2000) %}
- targets: ['host-node-{{n}}:9100']
labels:
host_number: cfg_{{n}}
role: node-exporter
env: prod
{% endfor %}
synchronous_commit = off
wal_compression = on
docker run --name promscale -d --net=host timescale/promscale:0.1.3 -db-password=secret -log-level=info -db-ssl-mode=disable -async-acks=true
docker run --rm -itd --net=host --name victoria -v `pwd`/data:/data  victoriametrics/victoria-metrics:v1.49.0 -storageDataPath=/data

Benchmark results

RSS memory usage: VictoriaMetrics vs Promscale
CPU cores used: VictoriaMetrics vs Promscale
Disk IO usage: VictoriaMetrics vs Promscale
Disk IOPS usage: VictoriaMetrics vs Promscale
Promscale disk IO usage: WAL vs data
Promscale disk IOPS usage: WAL vs data
Disk space usage (excluding WAL): VictoriaMetrics vs Promscale
Promscale WAL size

Conclusions

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store