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 | 0.4 ± 0.0 | 0.3 ± 0.0 | 0.6 ± 0.0 | 0.7 ± 0.0 |
| 0.5 ± 0.0 | 100.0 ± 0.0 | 0.8 ± 0.0 | 0.8 ± 0.0 | 1.1 ± 0.0 | 1.2 ± 0.0 |
| 1.0 ± 0.0 | 100.0 ± 0.0 | 1.5 ± 0.0 | 1.5 ± 0.0 | 1.8 ± 0.0 | 2.0 ± 0.1 |
| 1.9 ± 0.0 | 100.0 ± 0.0 | 2.8 ± 0.1 | 2.8 ± 0.1 | 3.3 ± 0.1 | 3.5 ± 0.1 |
| 4.9 ± 0.0 | 100.0 ± 0.0 | 6.9 ± 0.0 | 6.9 ± 0.0 | 7.5 ± 0.1 | 7.9 ± 0.1 |
| 9.8 ± 0.1 | 98.9 ± 0.0 | 13.7 ± 0.1 | 13.6 ± 0.1 | 14.4 ± 0.1 | 14.8 ± 0.1 |
| 15.1 ± 0.0 | 76.3 ± 0.5 | 21.1 ± 0.1 | 21.1 ± 0.0 | 21.6 ± 0.0 | 21.8 ± 0.0 |
| 17.5 ± 0.0 | 35.1 ± 0.1 | 24.5 ± 0.0 | 24.5 ± 0.0 | 24.9 ± 0.0 | 25.0 ± 0.0 |
| 18.6 ± 0.0 | 18.1 ± 0.1 | 25.9 ± 0.0 | 25.9 ± 0.0 | 26.3 ± 0.0 | 26.4 ± 0.0 |
num_tables = 2
| Throughput (c/s) | Success Rate (%) | Mean Overhead (%) | P50 Overhead (%) | P95 Overhead (%) | P99 Overhead (%) |
|---|
| 0.2 ± 0.0 | 100.0 ± 0.0 | 0.4 ± 0.0 | 0.4 ± 0.0 | 0.6 ± 0.0 | 0.7 ± 0.0 |
| 0.5 ± 0.0 | 100.0 ± 0.0 | 0.8 ± 0.0 | 0.8 ± 0.0 | 1.1 ± 0.0 | 1.2 ± 0.1 |
| 1.0 ± 0.0 | 100.0 ± 0.0 | 1.5 ± 0.0 | 1.5 ± 0.0 | 1.8 ± 0.0 | 2.0 ± 0.1 |
| 2.0 ± 0.0 | 100.0 ± 0.0 | 2.8 ± 0.0 | 2.8 ± 0.0 | 3.3 ± 0.0 | 3.5 ± 0.1 |
| 4.9 ± 0.0 | 100.0 ± 0.0 | 7.0 ± 0.1 | 6.9 ± 0.1 | 7.5 ± 0.1 | 7.9 ± 0.1 |
| 9.9 ± 0.1 | 100.0 ± 0.0 | 13.8 ± 0.1 | 13.8 ± 0.1 | 14.6 ± 0.1 | 15.0 ± 0.1 |
| 18.9 ± 0.0 | 95.3 ± 0.1 | 26.2 ± 0.1 | 26.2 ± 0.1 | 26.9 ± 0.1 | 27.3 ± 0.1 |
| 26.1 ± 0.0 | 52.3 ± 0.3 | 36.2 ± 0.0 | 36.2 ± 0.0 | 36.6 ± 0.0 | 36.7 ± 0.0 |
| 28.3 ± 0.0 | 27.8 ± 0.1 | 39.3 ± 0.0 | 39.2 ± 0.0 | 39.6 ± 0.0 | 39.7 ± 0.0 |
num_tables = 5
| Throughput (c/s) | Success Rate (%) | Mean Overhead (%) | P50 Overhead (%) | P95 Overhead (%) | P99 Overhead (%) |
|---|
| 0.2 ± 0.0 | 100.0 ± 0.0 | 0.3 ± 0.0 | 0.3 ± 0.0 | 0.5 ± 0.0 | 0.7 ± 0.1 |
| 0.5 ± 0.0 | 100.0 ± 0.0 | 0.8 ± 0.0 | 0.7 ± 0.0 | 1.0 ± 0.0 | 1.2 ± 0.1 |
| 1.0 ± 0.0 | 100.0 ± 0.0 | 1.5 ± 0.0 | 1.4 ± 0.0 | 1.8 ± 0.0 | 2.0 ± 0.1 |
| 2.0 ± 0.0 | 100.0 ± 0.0 | 2.8 ± 0.0 | 2.8 ± 0.0 | 3.2 ± 0.0 | 3.4 ± 0.1 |
| 5.0 ± 0.1 | 100.0 ± 0.0 | 6.9 ± 0.1 | 6.9 ± 0.1 | 7.5 ± 0.1 | 7.8 ± 0.1 |
| 9.8 ± 0.1 | 100.0 ± 0.0 | 13.7 ± 0.1 | 13.7 ± 0.1 | 14.4 ± 0.1 | 14.8 ± 0.2 |
| 19.7 ± 0.1 | 99.8 ± 0.0 | 27.3 ± 0.1 | 27.3 ± 0.2 | 28.2 ± 0.2 | 28.6 ± 0.3 |
| 30.9 ± 0.1 | 62.4 ± 0.1 | 42.7 ± 0.0 | 42.7 ± 0.0 | 43.1 ± 0.0 | 43.2 ± 0.0 |
| 33.3 ± 0.0 | 32.9 ± 0.1 | 46.1 ± 0.0 | 46.1 ± 0.0 | 46.4 ± 0.0 | 46.5 ± 0.0 |
num_tables = 10
| Throughput (c/s) | Success Rate (%) | Mean Overhead (%) | P50 Overhead (%) | P95 Overhead (%) | P99 Overhead (%) |
|---|
| 0.2 ± 0.0 | 100.0 ± 0.0 | 0.3 ± 0.0 | 0.3 ± 0.0 | 0.5 ± 0.0 | 0.7 ± 0.1 |
| 0.5 ± 0.0 | 100.0 ± 0.0 | 0.7 ± 0.0 | 0.7 ± 0.0 | 1.0 ± 0.0 | 1.1 ± 0.1 |
| 1.0 ± 0.0 | 100.0 ± 0.0 | 1.4 ± 0.0 | 1.4 ± 0.0 | 1.8 ± 0.0 | 1.9 ± 0.1 |
| 2.0 ± 0.0 | 100.0 ± 0.0 | 2.8 ± 0.1 | 2.7 ± 0.0 | 3.2 ± 0.1 | 3.4 ± 0.1 |
| 4.9 ± 0.1 | 100.0 ± 0.0 | 6.9 ± 0.1 | 6.9 ± 0.1 | 7.5 ± 0.1 | 7.8 ± 0.2 |
| 9.9 ± 0.1 | 100.0 ± 0.0 | 13.7 ± 0.1 | 13.7 ± 0.1 | 14.5 ± 0.1 | 14.8 ± 0.1 |
| 19.7 ± 0.1 | 100.0 ± 0.0 | 27.3 ± 0.1 | 27.3 ± 0.1 | 28.1 ± 0.1 | 28.4 ± 0.2 |
| 33.4 ± 0.0 | 67.9 ± 0.1 | 46.2 ± 0.0 | 46.2 ± 0.0 | 46.6 ± 0.0 | 46.8 ± 0.0 |
| 36.4 ± 0.0 | 36.0 ± 0.1 | 50.3 ± 0.0 | 50.3 ± 0.0 | 50.5 ± 0.0 | 50.6 ± 0.0 |
num_tables = 20
| Throughput (c/s) | Success Rate (%) | Mean Overhead (%) | P50 Overhead (%) | P95 Overhead (%) | P99 Overhead (%) |
|---|
| 0.2 ± 0.0 | 100.0 ± 0.0 | 0.3 ± 0.0 | 0.3 ± 0.0 | 0.5 ± 0.0 | 0.6 ± 0.0 |
| 0.5 ± 0.0 | 100.0 ± 0.0 | 0.6 ± 0.0 | 0.7 ± 0.0 | 1.0 ± 0.0 | 1.1 ± 0.1 |
| 1.0 ± 0.0 | 100.0 ± 0.0 | 1.2 ± 0.0 | 1.4 ± 0.0 | 1.7 ± 0.0 | 1.9 ± 0.1 |
| 2.0 ± 0.0 | 100.0 ± 0.0 | 2.7 ± 0.1 | 2.7 ± 0.1 | 3.2 ± 0.1 | 3.4 ± 0.0 |
| 4.9 ± 0.0 | 100.0 ± 0.0 | 6.8 ± 0.1 | 6.8 ± 0.1 | 7.4 ± 0.1 | 7.7 ± 0.1 |
| 9.9 ± 0.1 | 100.0 ± 0.0 | 13.7 ± 0.2 | 13.7 ± 0.1 | 14.4 ± 0.2 | 14.8 ± 0.2 |
| 19.7 ± 0.1 | 100.0 ± 0.0 | 27.2 ± 0.1 | 27.3 ± 0.2 | 28.0 ± 0.1 | 28.4 ± 0.2 |
| 35.8 ± 0.0 | 73.0 ± 0.2 | 49.4 ± 0.0 | 49.4 ± 0.0 | 49.8 ± 0.0 | 50.0 ± 0.0 |
| 39.3 ± 0.0 | 39.2 ± 0.1 | 54.2 ± 0.0 | 54.2 ± 0.0 | 54.5 ± 0.0 | 54.6 ± 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 | 0.3 ± 0.0 | 0.3 ± 0.0 | 0.6 ± 0.0 | 0.7 ± 0.0 |
| 0.5 ± 0.0 | 100.0 ± 0.0 | 0.5 ± 0.0 | 0.7 ± 0.0 | 1.0 ± 0.0 | 1.1 ± 0.0 |
| 1.0 ± 0.0 | 100.0 ± 0.0 | 1.0 ± 0.0 | 1.3 ± 0.0 | 1.7 ± 0.0 | 1.9 ± 0.0 |
| 2.0 ± 0.0 | 100.0 ± 0.0 | 2.2 ± 0.1 | 2.7 ± 0.0 | 3.1 ± 0.1 | 3.3 ± 0.1 |
| 4.9 ± 0.0 | 100.0 ± 0.0 | 6.5 ± 0.0 | 6.7 ± 0.0 | 7.3 ± 0.1 | 7.6 ± 0.2 |
| 9.9 ± 0.1 | 100.0 ± 0.0 | 13.4 ± 0.1 | 13.6 ± 0.1 | 14.2 ± 0.1 | 14.6 ± 0.1 |
| 19.8 ± 0.1 | 100.0 ± 0.0 | 27.0 ± 0.1 | 27.1 ± 0.2 | 28.0 ± 0.2 | 28.4 ± 0.2 |
| 38.9 ± 0.1 | 79.4 ± 0.3 | 53.4 ± 0.1 | 53.4 ± 0.1 | 53.8 ± 0.1 | 54.0 ± 0.1 |
| 43.2 ± 0.0 | 43.6 ± 0.1 | 59.4 ± 0.0 | 59.4 ± 0.0 | 59.7 ± 0.0 | 59.8 ± 0.0 |
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!