Throughput, CPU & memory over time
Interactive per-run and averaged time series from the six-broker matrix: producer throughput, broker CPU and broker working-set memory over each run window, Crabka against Strimzi. Every thin line is one run; the bold line is the across-run mean.
These charts come from the same harness as the
Crabka vs Strimzi comparison. Two
six-broker clusters at RF=3 run on one GKE node pool with byte-for-byte
identical pod resources. The same Rust load driver, crabka-bench-driver, runs
each scenario over the Kafka wire protocol. The harness runs each cell ten
times. The driver samples client throughput and latency every two seconds, and
it scrapes broker CPU and working-set memory from Prometheus across the run
window.
How to read these
Each scenario has three charts: throughput, broker CPU, and broker memory. Each chart plots the value over the run window.
- Thin lines are individual runs, one line per repeat. They show the run-to-run spread directly instead of one number.
- Bold lines are the mean across all runs at each time offset.
- Orange is Crabka, blue is Strimzi. Click a legend entry to toggle a stack.
The summary bars at the top are the end-of-run aggregates. The bar is the mean across runs. The error bar is the run-to-run sample standard deviation, so a short error bar shows a stable and repeatable result.
Summary — mean across runs (error bars = run-to-run stddev)
Per run & averaged — throughput, CPU and memory over the run
failover @ 6 brokers
fan-out @ 6 brokers
fixed-rate-latency @ 6 brokers
high-partition-fanout @ 6 brokers
high-partition-latency @ 6 brokers
high-partition-saturate @ 6 brokers
large-msg @ 6 brokers
mixed-acks-all @ 6 brokers
small-msg-saturate @ 6 brokers
Methodology
- Both stacks get identical pod resource requests/limits, the same storage class, the same partition counts, and the same in-cluster driver; brokers run one cluster at a time.
- Throughput is the driver's own produce/consume rate. Broker CPU is the summed
cAdvisor CPU usage in cores across the broker pods. Broker memory is the
summed cgroup working set (
container_memory_working_set_bytes). - The means and the standard deviations come from the ten repeats per cell. The charts average the time series per two-second offset, so a curve shows the typical shape of a run and not one single run.
- The full harness, the scenarios, and the aggregator are in
bench/. Usecrabka-bench-report --web-fragmentto regenerate the charts on this page.