Skip to main content

Benchmarking

Purpose: For platform engineers and architects, describes the benchmarking methodology, tooling, and published results used to validate openCenter performance claims.

Methodology

All benchmarks are:

  • Run against reference topologies (Small, Medium, Large)
  • Executed on identical hardware profiles per run
  • Measured at p50, p95, and p99 latency percentiles
  • Published with reproducible configuration

Tooling

ToolPurposeMetrics Captured
kube-burnerPod/namespace density stress testsPod startup latency, API server latency
k6HTTP load testing for ingress/servicesRequest throughput, error rate, latency
Prometheus TSDB stressMetrics ingestion throughputSamples/sec, WAL write latency
fioStorage I/O benchmarksIOPS, throughput, latency by operation
iperf3 / netperfNetwork throughput between podsBandwidth, packet loss, jitter

Published Results (Large Profile)

MetricResultConditions
Pod startup (p95)< 5s200 nodes, pre-pulled images
API server latency (p99)< 200ms25,000 pods, steady state
FluxCD reconciliation (full)< 90s150 Kustomizations, no drift
Ingress throughput (Gateway API)40,000 RPSSingle gateway, 4 vCPU worker
Prometheus ingestion500,000 samples/sec3-replica Prometheus, NVMe
Longhorn sequential write800 MB/s3 replicas, NVMe backing

Running Your Own Benchmarks

openCenter ships benchmark profiles in openCenter-gitops-base under benchmarks/. Deploy them as Kubernetes Jobs:

kubectl apply -k benchmarks/kube-burner/large-profile/

Results are exported to Prometheus and visible in the pre-built "Platform Benchmarks" Grafana dashboard.

Caveats

  • Results vary with hardware, network topology, and workload mix
  • Published numbers represent dedicated cluster runs, not shared-tenant environments
  • Air-gapped deployments may see higher image pull latency on first pod startup