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
| Tool | Purpose | Metrics Captured |
|---|---|---|
| kube-burner | Pod/namespace density stress tests | Pod startup latency, API server latency |
| k6 | HTTP load testing for ingress/services | Request throughput, error rate, latency |
| Prometheus TSDB stress | Metrics ingestion throughput | Samples/sec, WAL write latency |
| fio | Storage I/O benchmarks | IOPS, throughput, latency by operation |
| iperf3 / netperf | Network throughput between pods | Bandwidth, packet loss, jitter |
Published Results (Large Profile)
| Metric | Result | Conditions |
|---|---|---|
| Pod startup (p95) | < 5s | 200 nodes, pre-pulled images |
| API server latency (p99) | < 200ms | 25,000 pods, steady state |
| FluxCD reconciliation (full) | < 90s | 150 Kustomizations, no drift |
| Ingress throughput (Gateway API) | 40,000 RPS | Single gateway, 4 vCPU worker |
| Prometheus ingestion | 500,000 samples/sec | 3-replica Prometheus, NVMe |
| Longhorn sequential write | 800 MB/s | 3 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