Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save arajkumar/3b945f4f7ce235c46a8aff27038df518 to your computer and use it in GitHub Desktop.
Save arajkumar/3b945f4f7ce235c46a8aff27038df518 to your computer and use it in GitHub Desktop.
Benchmark config
# Apply your stack customization here. This file is not tracked by git.
# If you want to make persistent changes to this file you can do so by using
# `git update-index --no-assume-unchanged values-overrides.yaml` command,
# commiting changes, and then disabling file tracking by running
# `git update-index --assume-unchanged values-overrides.yaml` command.
prometheus:
# Configuration options in https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#monitoring.coreos.com/v1.RemoteWriteSpec
remoteWrite:
- url: http://tobs-promscale.bench.svc:9201/write
remoteTimeout: 100s
# Configuration options in https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#queueconfig
queueConfig: {}
resources:
requests:
cpu: 2
memory: 12Gi
avalanche:
replicaCount: 1
fakePrometheusTargetCount: 11
extraArgs:
- --series-interval=315360000
- --metric-interval=315360000
# Total number of time series generated by avalanche is equal to
# metric-count * series-count
# Which is 120K series here by default. This translates to a load
# of 20K samples / second per replica, with a scrape interval of
# 30s by Prometheus.
# To increase the load, we can simply increase the value of
# replicaCount in avalanche values.
- --metric-count=5000
- --series-count=120
- --label-count=3
- --value-interval=30
# resources:
# requests:
# cpu: 200m
# memory: 2Gi
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchExpressions:
- key: app.kubernetes.io/component
operator: In
values:
- timescaledb
topologyKey: "kubernetes.io/hostname"
# Apply your stack customization here. This file is not tracked by git.
# If you want to make persistent changes to this file you can do so by using
# `git update-index --no-assume-unchanged stack/values-overrides.yaml` command,
# commiting changes, and then disabling file tracking by running
# `git update-index --assume-unchanged stack/values-overrides.yaml` command.
# Configuration options are documented at:
# https://github.com/timescale/helm-charts/blob/main/charts/timescaledb-single/values.yaml
timescaledb-single:
resources:
requests:
cpu: "8"
memory: 32Gi
persistentVolumes:
data:
size: 1Ti
storageClass: gp3
wal:
size: 100Gi
storageClass: gp3
patroni:
bootstrap:
dcs:
postgresql:
parameters:
checkpoint_timeout: 15min
bgwriter_delay: 200ms
bgwriter_lru_maxpages: 100
bgwriter_flush_after: 0
# bgwriter_lru_multiplier: 1
stats_temp_directory: /dev/shm/pg_stat_temp
shared_buffers: 30GB
autovacuum_max_workers: 1
wal_compression: on
max_wal_size: 85GB # for 240K samples/sec
synchronous_commit: off
# track_io_timing: on
# timescaledb.max_open_chunks_per_insert: 429
# Configuration options are documented at:
# https://github.com/timescale/helm-charts/blob/main/charts/promscale/values.yaml
promscale:
extraEnv: []
resources:
requests:
memory: 16Gi
cpu: "4"
config:
vacuum.parallelism: 1
startup.dataset.config: |
metrics:
default_chunk_interval: 1h
kube-prometheus-stack:
prometheusOperator:
admissionWebhooks:
enabled: false
prometheus:
prometheusSpec:
remoteWriteDashboards: true
retention: 30d
grafana:
service:
type: LoadBalancer
opentelemetry-operator:
enabled: false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment