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 | 0.6 ± 0.0 | 0.6 ± 0.0 | 1.1 ± 0.0 | 1.3 ± 0.1 |
| 0.5 ± 0.0 | 100.0 ± 0.0 | 1.1 ± 0.0 | 1.0 ± 0.0 | 1.6 ± 0.1 | 1.9 ± 0.1 |
| 1.0 ± 0.0 | 100.0 ± 0.0 | 1.8 ± 0.0 | 1.7 ± 0.0 | 2.5 ± 0.0 | 2.9 ± 0.1 |
| 2.0 ± 0.0 | 100.0 ± 0.0 | 3.3 ± 0.1 | 3.2 ± 0.1 | 4.2 ± 0.1 | 4.8 ± 0.2 |
| 4.5 ± 0.0 | 91.6 ± 0.8 | 7.1 ± 0.0 | 6.9 ± 0.0 | 8.7 ± 0.0 | 9.6 ± 0.0 |
| 5.5 ± 0.0 | 56.0 ± 0.4 | 8.7 ± 0.0 | 8.5 ± 0.0 | 10.4 ± 0.0 | 11.2 ± 0.0 |
| 6.2 ± 0.0 | 31.2 ± 0.2 | 9.7 ± 0.0 | 9.5 ± 0.0 | 11.4 ± 0.0 | 12.2 ± 0.0 |
| 6.8 ± 0.0 | 13.4 ± 0.0 | 10.6 ± 0.0 | 10.4 ± 0.0 | 12.3 ± 0.0 | 12.9 ± 0.0 |
| 7.0 ± 0.0 | 6.7 ± 0.0 | 10.9 ± 0.0 | 10.7 ± 0.0 | 12.5 ± 0.0 | 13.2 ± 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.5 ± 0.0 | 0.5 ± 0.0 | 1.0 ± 0.0 | 1.1 ± 0.0 |
| 0.5 ± 0.0 | 100.0 ± 0.0 | 1.0 ± 0.0 | 0.9 ± 0.0 | 1.5 ± 0.0 | 1.7 ± 0.0 |
| 1.0 ± 0.0 | 100.0 ± 0.0 | 1.7 ± 0.0 | 1.6 ± 0.0 | 2.3 ± 0.0 | 2.5 ± 0.0 |
| 2.0 ± 0.0 | 100.0 ± 0.0 | 3.1 ± 0.1 | 3.0 ± 0.1 | 3.8 ± 0.1 | 4.1 ± 0.0 |
| 4.9 ± 0.1 | 100.0 ± 0.0 | 7.3 ± 0.1 | 7.2 ± 0.1 | 8.2 ± 0.1 | 8.7 ± 0.2 |
| 9.9 ± 0.1 | 99.9 ± 0.0 | 14.3 ± 0.1 | 14.2 ± 0.2 | 15.5 ± 0.2 | 16.1 ± 0.2 |
| 17.8 ± 0.1 | 89.9 ± 0.4 | 25.6 ± 0.1 | 25.4 ± 0.1 | 26.8 ± 0.1 | 27.4 ± 0.1 |
| 22.0 ± 0.0 | 44.1 ± 0.1 | 31.4 ± 0.0 | 31.4 ± 0.0 | 32.6 ± 0.0 | 33.0 ± 0.0 |
| 23.4 ± 0.1 | 22.8 ± 0.1 | 33.4 ± 0.0 | 33.3 ± 0.0 | 34.4 ± 0.0 | 34.8 ± 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.5 ± 0.0 | 0.4 ± 0.0 | 1.0 ± 0.0 | 1.1 ± 0.0 |
| 0.5 ± 0.0 | 100.0 ± 0.0 | 0.7 ± 0.0 | 0.8 ± 0.0 | 1.4 ± 0.0 | 1.6 ± 0.1 |
| 1.0 ± 0.0 | 100.0 ± 0.0 | 1.4 ± 0.0 | 1.5 ± 0.0 | 2.1 ± 0.1 | 2.4 ± 0.1 |
| 2.0 ± 0.0 | 100.0 ± 0.0 | 2.9 ± 0.0 | 2.9 ± 0.0 | 3.6 ± 0.0 | 4.0 ± 0.0 |
| 4.9 ± 0.0 | 100.0 ± 0.0 | 7.1 ± 0.1 | 7.1 ± 0.1 | 8.0 ± 0.1 | 8.4 ± 0.2 |
| 9.9 ± 0.0 | 100.0 ± 0.0 | 14.0 ± 0.1 | 14.0 ± 0.1 | 15.0 ± 0.1 | 15.5 ± 0.1 |
| 19.7 ± 0.1 | 100.0 ± 0.0 | 27.8 ± 0.1 | 27.7 ± 0.1 | 28.9 ± 0.2 | 29.5 ± 0.3 |
| 33.4 ± 0.0 | 67.7 ± 0.1 | 46.9 ± 0.0 | 46.9 ± 0.0 | 47.7 ± 0.0 | 48.0 ± 0.0 |
| 36.2 ± 0.0 | 35.9 ± 0.0 | 50.9 ± 0.0 | 50.9 ± 0.0 | 51.6 ± 0.0 | 51.8 ± 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.5 ± 0.0 | 0.5 ± 0.0 | 1.0 ± 0.0 | 1.1 ± 0.1 |
| 0.5 ± 0.0 | 100.0 ± 0.0 | 0.7 ± 0.0 | 0.8 ± 0.0 | 1.4 ± 0.0 | 1.6 ± 0.0 |
| 1.0 ± 0.0 | 100.0 ± 0.0 | 1.2 ± 0.0 | 1.5 ± 0.0 | 2.1 ± 0.1 | 2.4 ± 0.1 |
| 2.0 ± 0.1 | 100.0 ± 0.0 | 2.3 ± 0.1 | 2.8 ± 0.1 | 3.4 ± 0.1 | 3.8 ± 0.1 |
| 4.9 ± 0.1 | 100.0 ± 0.0 | 6.8 ± 0.1 | 6.9 ± 0.1 | 7.7 ± 0.1 | 8.2 ± 0.1 |
| 9.9 ± 0.1 | 100.0 ± 0.0 | 13.7 ± 0.1 | 13.8 ± 0.1 | 14.8 ± 0.1 | 15.3 ± 0.1 |
| 19.6 ± 0.1 | 100.0 ± 0.0 | 27.3 ± 0.1 | 27.3 ± 0.1 | 28.4 ± 0.2 | 29.0 ± 0.2 |
| 37.8 ± 0.1 | 77.2 ± 0.2 | 52.6 ± 0.0 | 52.5 ± 0.0 | 53.3 ± 0.1 | 53.6 ± 0.1 |
| 41.8 ± 0.0 | 41.9 ± 0.0 | 58.1 ± 0.0 | 58.1 ± 0.0 | 58.7 ± 0.0 | 58.9 ± 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!
