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 (RF=3) on one GKE node pool with byte-for-byte identical pod
resources, each scenario driven by the same Rust load driver
(crabka-bench-driver) over the Kafka wire protocol. Each cell is run ten
times; the driver samples client throughput and latency every two seconds and
scrapes broker CPU / working-set memory from Prometheus across the run window.
How to read these
For each scenario there are three charts — throughput, broker CPU and broker memory — each plotting the value over the run window:
- Thin lines are individual runs (one per repeat), so you can see run-to-run spread directly rather than trusting a single 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 and the error bar is the run-to-run sample standard deviation, so a short error bar means a stable, 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 summed
cAdvisor CPU usage (cores) across the broker pods; broker memory is the summed
cgroup working set (
container_memory_working_set_bytes). - Means and standard deviations are computed across the ten repeats per cell; time-series means are averaged per two-second offset, so a curve reflects the typical shape of a run rather than any single one.
- The full harness, scenarios and aggregator live in
bench/; the charts on this page are regenerated withcrabka-bench-report --web-fragment.