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 | 99.6 ± 0.5 | 6.5 ± 0.1 | 5.3 ± 0.1 | 17.6 ± 1.1 | 24.5 ± 3.2 |
| 0.4 ± 0.0 | 76.1 ± 1.8 | 12.1 ± 0.5 | 9.5 ± 0.7 | 30.8 ± 0.3 | 38.1 ± 1.2 |
| 0.5 ± 0.0 | 46.1 ± 1.5 | 13.9 ± 0.4 | 11.6 ± 0.6 | 32.5 ± 0.8 | 39.3 ± 1.2 |
| 0.5 ± 0.0 | 25.1 ± 0.3 | 15.0 ± 0.3 | 13.0 ± 0.2 | 33.9 ± 1.2 | 39.7 ± 1.0 |
| 0.5 ± 0.0 | 10.5 ± 0.2 | 15.4 ± 0.3 | 13.6 ± 0.5 | 34.3 ± 0.5 | 40.3 ± 1.1 |
| 0.5 ± 0.0 | 5.4 ± 0.0 | 15.5 ± 0.5 | 13.7 ± 0.5 | 34.7 ± 0.5 | 40.0 ± 0.6 |
| 0.5 ± 0.0 | 2.8 ± 0.0 | 15.5 ± 0.3 | 13.7 ± 0.4 | 34.6 ± 0.5 | 40.3 ± 0.9 |
| 0.6 ± 0.0 | 1.1 ± 0.0 | 15.2 ± 0.3 | 13.3 ± 0.4 | 33.9 ± 0.9 | 39.6 ± 0.5 |
| 0.6 ± 0.0 | 0.5 ± 0.0 | 15.5 ± 0.1 | 13.6 ± 0.4 | 34.3 ± 0.5 | 39.6 ± 0.7 |
num_tables = 5
| Throughput (c/s) | Success Rate (%) | Mean Overhead (%) | P50 Overhead (%) | P95 Overhead (%) | P99 Overhead (%) |
|---|---|---|---|---|---|
| 0.2 ± 0.0 | 100.0 ± 0.0 | 3.8 ± 0.2 | 2.9 ± 0.2 | 9.3 ± 0.4 | 12.2 ± 1.6 |
| 0.5 ± 0.0 | 100.0 ± 0.0 | 5.7 ± 0.2 | 4.9 ± 0.3 | 12.8 ± 1.1 | 17.4 ± 0.6 |
| 1.0 ± 0.0 | 99.8 ± 0.2 | 8.2 ± 0.2 | 7.0 ± 0.2 | 18.7 ± 0.6 | 26.6 ± 0.8 |
| 1.7 ± 0.0 | 86.7 ± 0.4 | 13.8 ± 0.1 | 11.7 ± 0.1 | 31.1 ± 0.5 | 39.1 ± 0.4 |
| 2.2 ± 0.0 | 44.2 ± 0.4 | 16.4 ± 0.2 | 14.5 ± 0.3 | 34.4 ± 0.3 | 40.4 ± 0.1 |
| 2.4 ± 0.0 | 23.9 ± 0.2 | 17.9 ± 0.1 | 16.2 ± 0.2 | 35.9 ± 0.4 | 41.3 ± 0.4 |
| 2.5 ± 0.0 | 12.4 ± 0.1 | 18.1 ± 0.1 | 16.5 ± 0.1 | 36.1 ± 0.2 | 41.3 ± 0.3 |
| 2.6 ± 0.0 | 5.1 ± 0.0 | 18.4 ± 0.1 | 16.8 ± 0.1 | 36.3 ± 0.5 | 41.4 ± 0.3 |
| 2.6 ± 0.0 | 2.5 ± 0.0 | 18.5 ± 0.1 | 17.0 ± 0.1 | 36.5 ± 0.1 | 41.6 ± 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 | 3.5 ± 0.1 | 2.3 ± 0.2 | 9.1 ± 0.3 | 10.3 ± 0.2 |
| 0.5 ± 0.0 | 100.0 ± 0.0 | 3.7 ± 0.2 | 2.6 ± 0.1 | 9.5 ± 0.4 | 11.2 ± 0.3 |
| 1.0 ± 0.0 | 100.0 ± 0.0 | 5.0 ± 0.2 | 4.2 ± 0.2 | 10.7 ± 0.2 | 14.3 ± 0.8 |
| 2.0 ± 0.0 | 100.0 ± 0.0 | 7.8 ± 0.1 | 7.0 ± 0.2 | 15.2 ± 0.2 | 20.2 ± 0.6 |
| 4.9 ± 0.0 | 98.2 ± 0.3 | 15.8 ± 0.1 | 14.2 ± 0.1 | 28.9 ± 0.4 | 36.6 ± 0.4 |
| 6.9 ± 0.0 | 70.0 ± 0.2 | 21.9 ± 0.1 | 20.3 ± 0.1 | 38.0 ± 0.2 | 43.8 ± 0.2 |
| 8.0 ± 0.0 | 40.1 ± 0.3 | 24.3 ± 0.1 | 23.0 ± 0.1 | 40.3 ± 0.1 | 45.4 ± 0.2 |
| 8.8 ± 0.0 | 17.4 ± 0.1 | 26.6 ± 0.0 | 25.6 ± 0.1 | 42.2 ± 0.2 | 46.5 ± 0.1 |
| 9.0 ± 0.0 | 8.7 ± 0.0 | 27.2 ± 0.1 | 26.3 ± 0.1 | 42.5 ± 0.1 | 46.8 ± 0.1 |
num_tables = 50
| Throughput (c/s) | Success Rate (%) | Mean Overhead (%) | P50 Overhead (%) | P95 Overhead (%) | P99 Overhead (%) |
|---|---|---|---|---|---|
| 0.2 ± 0.0 | 100.0 ± 0.0 | 4.0 ± 0.1 | 3.4 ± 0.2 | 9.4 ± 0.3 | 10.5 ± 0.2 |
| 0.5 ± 0.0 | 100.0 ± 0.0 | 3.9 ± 0.1 | 2.8 ± 0.2 | 9.7 ± 0.1 | 10.9 ± 0.2 |
| 1.0 ± 0.0 | 100.0 ± 0.0 | 4.1 ± 0.1 | 3.0 ± 0.1 | 10.2 ± 0.1 | 11.8 ± 0.3 |
| 2.0 ± 0.0 | 100.0 ± 0.0 | 5.8 ± 0.1 | 5.1 ± 0.1 | 11.7 ± 0.2 | 15.0 ± 0.6 |
| 4.9 ± 0.0 | 100.0 ± 0.0 | 12.0 ± 0.1 | 11.4 ± 0.1 | 19.9 ± 0.1 | 24.5 ± 0.4 |
| 9.8 ± 0.0 | 99.2 ± 0.1 | 21.6 ± 0.1 | 20.4 ± 0.1 | 32.5 ± 0.2 | 39.0 ± 0.2 |
| 14.6 ± 0.1 | 74.3 ± 0.4 | 31.9 ± 0.1 | 30.9 ± 0.1 | 45.4 ± 0.0 | 50.1 ± 0.1 |
| 16.8 ± 0.0 | 33.5 ± 0.1 | 35.6 ± 0.1 | 34.9 ± 0.1 | 48.6 ± 0.1 | 52.5 ± 0.1 |
| 18.1 ± 0.0 | 17.6 ± 0.0 | 38.3 ± 0.0 | 37.9 ± 0.0 | 50.8 ± 0.1 | 54.0 ± 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!
