Commit Overhead vs Throughput
Commit Overhead vs Throughput
Analysis of commit protocol overhead as percentage of total transaction time.
Overhead = (commit_latency / total_latency) × 100
This represents time spent in retries, exponential backoff, and manifest I/O.
Values shown as mean ± standard deviation across seeds.
num_tables = 1
| Throughput (c/s) | Success Rate (%) | Mean Overhead (%) | P50 Overhead (%) | P95 Overhead (%) | P99 Overhead (%) |
|---|---|---|---|---|---|
| 0.2 ± 0.0 | 100.0 ± 0.0 | 3.0 ± 0.1 | 2.7 ± 0.1 | 6.4 ± 0.9 | 9.0 ± 0.9 |
| 0.5 ± 0.0 | 98.6 ± 0.4 | 5.3 ± 0.3 | 4.2 ± 0.1 | 13.0 ± 1.0 | 19.3 ± 1.6 |
| 0.7 ± 0.0 | 75.3 ± 1.3 | 7.9 ± 0.1 | 6.4 ± 0.1 | 19.1 ± 0.3 | 24.1 ± 0.3 |
| 0.9 ± 0.0 | 44.6 ± 0.4 | 8.8 ± 0.1 | 7.3 ± 0.2 | 20.8 ± 0.6 | 25.7 ± 0.4 |
| 1.0 ± 0.0 | 19.6 ± 0.1 | 9.6 ± 0.1 | 8.2 ± 0.2 | 21.6 ± 0.3 | 25.7 ± 0.5 |
| 1.0 ± 0.0 | 10.0 ± 0.1 | 9.7 ± 0.2 | 8.3 ± 0.3 | 21.7 ± 0.3 | 26.1 ± 0.3 |
| 1.0 ± 0.0 | 5.2 ± 0.0 | 9.8 ± 0.1 | 8.4 ± 0.2 | 21.6 ± 0.1 | 26.0 ± 0.2 |
| 1.1 ± 0.0 | 2.1 ± 0.0 | 9.9 ± 0.1 | 8.5 ± 0.2 | 21.8 ± 0.5 | 25.7 ± 0.2 |
| 1.1 ± 0.0 | 1.1 ± 0.0 | 9.9 ± 0.1 | 8.4 ± 0.2 | 21.8 ± 0.5 | 26.1 ± 0.4 |
num_tables = 5
| Throughput (c/s) | Success Rate (%) | Mean Overhead (%) | P50 Overhead (%) | P95 Overhead (%) | P99 Overhead (%) |
|---|---|---|---|---|---|
| 0.2 ± 0.0 | 100.0 ± 0.0 | 2.0 ± 0.1 | 1.5 ± 0.1 | 4.8 ± 0.2 | 6.0 ± 0.4 |
| 0.5 ± 0.0 | 100.0 ± 0.0 | 3.1 ± 0.0 | 2.8 ± 0.0 | 6.1 ± 0.1 | 8.7 ± 0.3 |
| 1.0 ± 0.0 | 100.0 ± 0.0 | 4.3 ± 0.1 | 3.9 ± 0.1 | 8.5 ± 0.2 | 11.2 ± 0.4 |
| 2.0 ± 0.0 | 99.7 ± 0.0 | 7.0 ± 0.1 | 6.2 ± 0.1 | 13.6 ± 0.2 | 18.5 ± 0.5 |
| 3.6 ± 0.0 | 72.1 ± 0.1 | 12.0 ± 0.1 | 10.7 ± 0.1 | 22.9 ± 0.2 | 27.6 ± 0.1 |
| 4.1 ± 0.0 | 42.0 ± 0.4 | 13.5 ± 0.0 | 12.3 ± 0.1 | 24.5 ± 0.1 | 28.6 ± 0.1 |
| 4.5 ± 0.0 | 22.8 ± 0.1 | 14.7 ± 0.1 | 13.5 ± 0.1 | 25.7 ± 0.1 | 29.4 ± 0.2 |
| 4.7 ± 0.0 | 9.4 ± 0.1 | 15.1 ± 0.1 | 14.1 ± 0.1 | 26.1 ± 0.2 | 29.6 ± 0.2 |
| 4.9 ± 0.0 | 4.7 ± 0.0 | 15.3 ± 0.1 | 14.3 ± 0.1 | 26.3 ± 0.2 | 29.9 ± 0.2 |
num_tables = 20
| Throughput (c/s) | Success Rate (%) | Mean Overhead (%) | P50 Overhead (%) | P95 Overhead (%) | P99 Overhead (%) |
|---|---|---|---|---|---|
| 0.2 ± 0.0 | 100.0 ± 0.0 | 2.0 ± 0.1 | 1.4 ± 0.2 | 5.0 ± 0.1 | 5.7 ± 0.1 |
| 0.5 ± 0.0 | 100.0 ± 0.0 | 2.2 ± 0.0 | 1.6 ± 0.0 | 5.4 ± 0.1 | 6.2 ± 0.1 |
| 1.0 ± 0.0 | 100.0 ± 0.0 | 3.2 ± 0.1 | 2.8 ± 0.1 | 6.2 ± 0.1 | 8.0 ± 0.5 |
| 2.0 ± 0.0 | 100.0 ± 0.0 | 5.2 ± 0.1 | 4.9 ± 0.1 | 8.5 ± 0.3 | 10.9 ± 0.2 |
| 4.9 ± 0.1 | 100.0 ± 0.0 | 10.4 ± 0.1 | 9.8 ± 0.1 | 15.2 ± 0.2 | 18.7 ± 0.5 |
| 9.5 ± 0.1 | 96.3 ± 0.1 | 18.7 ± 0.1 | 17.9 ± 0.1 | 26.6 ± 0.1 | 31.0 ± 0.1 |
| 12.5 ± 0.0 | 63.2 ± 0.5 | 24.5 ± 0.0 | 23.7 ± 0.1 | 33.4 ± 0.1 | 36.9 ± 0.1 |
| 14.4 ± 0.0 | 28.8 ± 0.1 | 27.6 ± 0.0 | 26.9 ± 0.0 | 36.4 ± 0.1 | 39.3 ± 0.1 |
| 15.3 ± 0.1 | 14.9 ± 0.0 | 29.4 ± 0.0 | 28.8 ± 0.0 | 37.9 ± 0.0 | 40.5 ± 0.0 |
num_tables = 50
| Throughput (c/s) | Success Rate (%) | Mean Overhead (%) | P50 Overhead (%) | P95 Overhead (%) | P99 Overhead (%) |
|---|---|---|---|---|---|
| 0.2 ± 0.0 | 100.0 ± 0.0 | 2.2 ± 0.1 | 1.8 ± 0.1 | 5.2 ± 0.2 | 5.7 ± 0.1 |
| 0.5 ± 0.0 | 100.0 ± 0.0 | 2.2 ± 0.0 | 1.6 ± 0.1 | 5.5 ± 0.1 | 6.1 ± 0.1 |
| 1.0 ± 0.0 | 100.0 ± 0.0 | 2.7 ± 0.0 | 2.2 ± 0.0 | 6.1 ± 0.0 | 6.9 ± 0.1 |
| 1.9 ± 0.0 | 100.0 ± 0.0 | 4.0 ± 0.0 | 3.9 ± 0.0 | 7.4 ± 0.0 | 8.7 ± 0.2 |
| 4.9 ± 0.0 | 100.0 ± 0.0 | 9.0 ± 0.0 | 8.8 ± 0.0 | 13.0 ± 0.1 | 14.9 ± 0.1 |
| 9.9 ± 0.1 | 100.0 ± 0.0 | 17.0 ± 0.1 | 16.4 ± 0.1 | 21.7 ± 0.2 | 24.4 ± 0.3 |
| 19.0 ± 0.1 | 96.1 ± 0.1 | 31.5 ± 0.1 | 30.8 ± 0.1 | 37.9 ± 0.1 | 41.3 ± 0.2 |
| 24.8 ± 0.0 | 49.8 ± 0.2 | 41.0 ± 0.0 | 40.6 ± 0.0 | 47.6 ± 0.0 | 49.7 ± 0.0 |
| 26.5 ± 0.0 | 26.0 ± 0.1 | 43.3 ± 0.0 | 43.1 ± 0.0 | 49.5 ± 0.1 | 51.5 ± 0.1 |
Interpretation
- Low overhead (<10%): System operating efficiently, minimal contention
- Medium overhead (10-30%): Moderate contention, acceptable performance
- High overhead (30-50%): High contention, commit protocol becoming significant
- Very high overhead (>50%): Commit protocol dominates, system saturated
Values shown as mean ± standard deviation across multiple seeds. At saturation, overhead can exceed 50%, meaning more time is spent retrying commits than executing transactions!
