Last active
January 25, 2023 11:43
-
-
Save hagen1778/dec1d6c73fb9cd1ae8f715ec5356a88e to your computer and use it in GitHub Desktop.
The bonus round of benchmarking VictoriaMetrics cluster via https://github.com/VictoriaMetrics/prometheus-benchmark/tree/main/chart
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# vmtag is a docker image tag for VictoriaMetrics components, | |
# which run inside the prometheus-benchmark - e.g. vmagent, vmalert, vmsingle. | |
vmtag: "v1.80.0" | |
# nodeSelector is the list of key-value pairs for selecting instances | |
# where benchmark pods should be deployed. | |
nodeSelector: {} | |
# targetsCount defines the number of nodeexporter instances to scrape. | |
# This option allows to configure the number of active time series to push | |
# to remoteStorages. | |
# Every nodeexporter exposes around 815 unique metrics, so when targetsCount | |
# is set to 1000, then the benchmark generates around 815*100=815K active time series. | |
targetsCount: 8000 | |
# scrapeInterval defines how frequently to scrape nodeexporter targets. | |
# This option allows to configure data ingestion rate per every remoteStorages. | |
# For example, if the benchmark generates 815K active time series and scrapeInterval | |
# is set to 10s, then the data ingestion rate equals to 815K/10s = 81.5K samples/sec. | |
scrapeInterval: 15s | |
# queryInterval is how often to send queries from files/alerts.yaml to remoteStorages.readURL | |
# This option can be used for tuning read load at remoteStorages. | |
# It is a good rule of thumb to keep it in sync with scrapeInterval. | |
queryInterval: 15s | |
# scrapeConfigUpdatePercent is the percent of nodeexporter targets | |
# which are updated with unique label on every scrape config update | |
# (see scrapeConfigUpdateInterval). | |
# This option allows tuning time series churn rate. | |
# For example, if scrapeConfigUpdatePercent is set to 1 for targetsCount=1000, | |
# then around 10 targets gets updated labels on every scrape config update. | |
# This generates around 815*10=8150 new time series every scrapeConfigUpdateInterval. | |
scrapeConfigUpdatePercent: 1 | |
# scrapeConfigUpdateInterval specifies how frequently to update labels | |
# across scrapeConfigUpdatePercent nodeexporter targets. | |
# This option allows tuning time series churn rate. | |
# For example, if scrapeConfigUpdateInterval is set to 10m for targetsCount=1000 | |
# and scrapeConfigUpdatePercent=1, then around 10 targets gets updated labels every 10 minutes. | |
# This generates around 815*10=8150 new time series every 10 minutes. | |
scrapeConfigUpdateInterval: 10m | |
# writeConcurrency is the number of concurrent tcp connections to use | |
# for sending the data to the tested remoteStorages. | |
# Increase this value if there is a high network latency between prometheus-benchmark | |
# components and the tested remoteStorages. | |
writeConcurrency: 16 | |
# replicas defines how many pods of writers to deploy. | |
# each replica will scrape targetsCount targets and will have | |
# its own extra label `replica` attached to written time series. | |
# this option is useful for scaling the writers horizontally. | |
writeReplicas: 4 | |
# remoteStorages contains a named list of Prometheus-compatible systems to test. | |
# These systems must support data ingestion via Prometheus remote_write protocol. | |
# These systems must also support Prometheus querying API if query performance | |
# needs to be measured additionally to data ingestion performance. | |
remoteStorages: | |
victoriametrics: | |
writeURL: "http://victoria-metrics-victoria-metrics-cluster-vminsert.default.svc.cluster.local:8480/insert/1/prometheus/api/v1/write" | |
readURL: "http://victoria-metrics-victoria-metrics-cluster-vmselect.default.svc.cluster.local:8481/select/1/prometheus/" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment