Commit Latency vs Throughput
Commit Latency vs Throughput
Analysis of how commit latency scales with achieved throughput.
Values shown as mean ± standard deviation across seeds.
num_tables = 1
| Throughput (c/s) | Success Rate (%) | P50 Latency (s) | P95 Latency (s) | P99 Latency (s) | Mean Retries |
|---|
| 0.2 ± 0.0 | 100.0 ± 0.0 | 0.35 ± 0.01 | 0.45 ± 0.01 | 0.54 ± 0.01 | 1.0 |
| 0.4 ± 0.0 | 100.0 ± 0.0 | 0.35 ± 0.00 | 0.51 ± 0.01 | 0.63 ± 0.02 | 1.1 |
| 0.8 ± 0.0 | 100.0 ± 0.0 | 0.36 ± 0.00 | 0.58 ± 0.01 | 0.76 ± 0.04 | 1.2 |
| 1.6 ± 0.0 | 100.0 ± 0.0 | 0.37 ± 0.00 | 0.72 ± 0.02 | 0.98 ± 0.03 | 1.4 |
| 2.1 ± 0.0 | 100.0 ± 0.0 | 0.38 ± 0.00 | 0.81 ± 0.02 | 1.16 ± 0.03 | 1.5 |
| 2.7 ± 0.0 | 99.9 ± 0.1 | 0.42 ± 0.00 | 1.03 ± 0.01 | 1.50 ± 0.04 | 1.9 |
| 4.0 ± 0.0 | 97.5 ± 0.3 | 0.54 ± 0.00 | 1.50 ± 0.03 | 1.94 ± 0.02 | 2.8 |
| 5.7 ± 0.0 | 68.8 ± 0.1 | 0.87 ± 0.01 | 1.90 ± 0.01 | 2.08 ± 0.01 | 4.5 |
| 6.4 ± 0.0 | 39.2 ± 0.2 | 1.00 ± 0.00 | 1.93 ± 0.00 | 2.08 ± 0.01 | 5.0 |
| 7.2 ± 0.0 | 17.6 ± 0.1 | 1.07 ± 0.01 | 1.93 ± 0.00 | 2.07 ± 0.00 | 5.3 |
num_tables = 2
| Throughput (c/s) | Success Rate (%) | P50 Latency (s) | P95 Latency (s) | P99 Latency (s) | Mean Retries |
|---|
| 0.2 ± 0.0 | 100.0 ± 0.0 | 0.35 ± 0.00 | 0.44 ± 0.00 | 0.50 ± 0.02 | 1.0 |
| 0.4 ± 0.0 | 100.0 ± 0.0 | 0.35 ± 0.00 | 0.47 ± 0.01 | 0.58 ± 0.03 | 1.1 |
| 0.8 ± 0.0 | 100.0 ± 0.0 | 0.35 ± 0.00 | 0.51 ± 0.01 | 0.62 ± 0.01 | 1.1 |
| 1.6 ± 0.0 | 100.0 ± 0.0 | 0.36 ± 0.00 | 0.58 ± 0.01 | 0.76 ± 0.02 | 1.3 |
| 2.0 ± 0.0 | 100.0 ± 0.0 | 0.36 ± 0.00 | 0.61 ± 0.01 | 0.81 ± 0.02 | 1.4 |
| 2.7 ± 0.0 | 100.0 ± 0.0 | 0.37 ± 0.00 | 0.68 ± 0.01 | 0.93 ± 0.02 | 1.6 |
| 4.1 ± 0.0 | 100.0 ± 0.0 | 0.39 ± 0.00 | 0.83 ± 0.02 | 1.20 ± 0.04 | 1.9 |
| 7.9 ± 0.0 | 96.4 ± 0.1 | 0.58 ± 0.00 | 1.49 ± 0.01 | 1.85 ± 0.01 | 3.6 |
| 10.6 ± 0.1 | 64.8 ± 0.1 | 0.89 ± 0.00 | 1.76 ± 0.01 | 1.94 ± 0.01 | 5.3 |
| 12.0 ± 0.0 | 29.2 ± 0.1 | 0.98 ± 0.01 | 1.79 ± 0.00 | 1.95 ± 0.01 | 5.7 |
num_tables = 5
| Throughput (c/s) | Success Rate (%) | P50 Latency (s) | P95 Latency (s) | P99 Latency (s) | Mean Retries |
|---|
| 0.2 ± 0.0 | 100.0 ± 0.0 | 0.34 ± 0.00 | 0.44 ± 0.01 | 0.49 ± 0.02 | 1.0 |
| 0.4 ± 0.0 | 100.0 ± 0.0 | 0.35 ± 0.00 | 0.45 ± 0.00 | 0.53 ± 0.01 | 1.1 |
| 0.8 ± 0.0 | 100.0 ± 0.0 | 0.35 ± 0.00 | 0.46 ± 0.01 | 0.57 ± 0.02 | 1.1 |
| 1.6 ± 0.0 | 100.0 ± 0.0 | 0.35 ± 0.00 | 0.51 ± 0.01 | 0.62 ± 0.01 | 1.3 |
| 2.0 ± 0.0 | 100.0 ± 0.0 | 0.36 ± 0.00 | 0.52 ± 0.01 | 0.64 ± 0.01 | 1.3 |
| 2.7 ± 0.0 | 100.0 ± 0.0 | 0.36 ± 0.00 | 0.55 ± 0.00 | 0.68 ± 0.02 | 1.4 |
| 4.1 ± 0.0 | 100.0 ± 0.0 | 0.37 ± 0.00 | 0.59 ± 0.00 | 0.76 ± 0.01 | 1.7 |
| 8.2 ± 0.0 | 100.0 ± 0.0 | 0.39 ± 0.00 | 0.76 ± 0.01 | 1.04 ± 0.01 | 2.2 |
| 16.1 ± 0.1 | 98.6 ± 0.1 | 0.53 ± 0.00 | 1.25 ± 0.01 | 1.65 ± 0.01 | 3.5 |
| 25.9 ± 0.0 | 63.3 ± 0.1 | 0.89 ± 0.00 | 1.71 ± 0.00 | 1.89 ± 0.00 | 5.7 |
num_tables = 10
| Throughput (c/s) | Success Rate (%) | P50 Latency (s) | P95 Latency (s) | P99 Latency (s) | Mean Retries |
|---|
| 0.2 ± 0.0 | 100.0 ± 0.0 | 0.33 ± 0.01 | 0.43 ± 0.01 | 0.48 ± 0.03 | 1.0 |
| 0.4 ± 0.0 | 100.0 ± 0.0 | 0.34 ± 0.00 | 0.44 ± 0.01 | 0.50 ± 0.02 | 1.1 |
| 0.8 ± 0.0 | 100.0 ± 0.0 | 0.35 ± 0.00 | 0.45 ± 0.01 | 0.53 ± 0.02 | 1.1 |
| 1.6 ± 0.0 | 100.0 ± 0.0 | 0.35 ± 0.00 | 0.46 ± 0.00 | 0.56 ± 0.01 | 1.3 |
| 2.1 ± 0.0 | 100.0 ± 0.0 | 0.35 ± 0.00 | 0.48 ± 0.01 | 0.58 ± 0.01 | 1.3 |
| 2.7 ± 0.0 | 100.0 ± 0.0 | 0.36 ± 0.00 | 0.50 ± 0.00 | 0.60 ± 0.00 | 1.4 |
| 4.1 ± 0.0 | 100.0 ± 0.0 | 0.36 ± 0.00 | 0.53 ± 0.00 | 0.65 ± 0.02 | 1.6 |
| 8.2 ± 0.0 | 100.0 ± 0.0 | 0.37 ± 0.00 | 0.60 ± 0.00 | 0.77 ± 0.01 | 2.0 |
| 16.5 ± 0.1 | 100.0 ± 0.0 | 0.40 ± 0.00 | 0.77 ± 0.01 | 1.06 ± 0.01 | 2.6 |
| 38.3 ± 0.1 | 93.3 ± 0.2 | 0.62 ± 0.00 | 1.40 ± 0.00 | 1.73 ± 0.00 | 4.5 |
num_tables = 20
| Throughput (c/s) | Success Rate (%) | P50 Latency (s) | P95 Latency (s) | P99 Latency (s) | Mean Retries |
|---|
| 0.2 ± 0.0 | 100.0 ± 0.0 | 0.32 ± 0.00 | 0.43 ± 0.01 | 0.48 ± 0.02 | 1.0 |
| 0.4 ± 0.0 | 100.0 ± 0.0 | 0.34 ± 0.00 | 0.44 ± 0.01 | 0.49 ± 0.02 | 1.1 |
| 0.8 ± 0.0 | 100.0 ± 0.0 | 0.34 ± 0.00 | 0.44 ± 0.00 | 0.50 ± 0.01 | 1.1 |
| 1.6 ± 0.0 | 100.0 ± 0.0 | 0.35 ± 0.00 | 0.45 ± 0.00 | 0.54 ± 0.01 | 1.2 |
| 2.1 ± 0.0 | 100.0 ± 0.0 | 0.35 ± 0.00 | 0.46 ± 0.00 | 0.54 ± 0.01 | 1.3 |
| 2.7 ± 0.0 | 100.0 ± 0.0 | 0.35 ± 0.00 | 0.47 ± 0.01 | 0.57 ± 0.01 | 1.4 |
| 4.1 ± 0.0 | 100.0 ± 0.0 | 0.36 ± 0.00 | 0.48 ± 0.00 | 0.59 ± 0.01 | 1.6 |
| 8.2 ± 0.0 | 100.0 ± 0.0 | 0.37 ± 0.00 | 0.54 ± 0.00 | 0.66 ± 0.00 | 1.9 |
| 16.4 ± 0.0 | 100.0 ± 0.0 | 0.38 ± 0.00 | 0.61 ± 0.00 | 0.79 ± 0.00 | 2.3 |
| 40.7 ± 0.1 | 99.1 ± 0.0 | 0.43 ± 0.00 | 0.89 ± 0.00 | 1.19 ± 0.01 | 3.4 |
num_tables = 50
| Throughput (c/s) | Success Rate (%) | P50 Latency (s) | P95 Latency (s) | P99 Latency (s) | Mean Retries |
|---|
| 0.2 ± 0.0 | 100.0 ± 0.0 | 0.25 ± 0.01 | 0.41 ± 0.01 | 0.46 ± 0.02 | 1.0 |
| 0.4 ± 0.0 | 100.0 ± 0.0 | 0.32 ± 0.00 | 0.43 ± 0.00 | 0.48 ± 0.01 | 1.1 |
| 0.8 ± 0.0 | 100.0 ± 0.0 | 0.33 ± 0.00 | 0.43 ± 0.00 | 0.48 ± 0.01 | 1.1 |
| 1.6 ± 0.0 | 100.0 ± 0.0 | 0.35 ± 0.00 | 0.45 ± 0.00 | 0.52 ± 0.01 | 1.2 |
| 2.1 ± 0.0 | 100.0 ± 0.0 | 0.35 ± 0.00 | 0.45 ± 0.00 | 0.51 ± 0.00 | 1.3 |
| 2.7 ± 0.0 | 100.0 ± 0.0 | 0.35 ± 0.00 | 0.45 ± 0.00 | 0.52 ± 0.01 | 1.4 |
| 4.1 ± 0.0 | 100.0 ± 0.0 | 0.36 ± 0.00 | 0.46 ± 0.00 | 0.54 ± 0.01 | 1.5 |
| 8.2 ± 0.0 | 100.0 ± 0.0 | 0.36 ± 0.00 | 0.48 ± 0.00 | 0.58 ± 0.01 | 1.9 |
| 16.4 ± 0.1 | 100.0 ± 0.0 | 0.37 ± 0.00 | 0.53 ± 0.00 | 0.64 ± 0.00 | 2.2 |
| 40.8 ± 0.1 | 99.4 ± 0.1 | 0.39 ± 0.00 | 0.64 ± 0.00 | 0.81 ± 0.01 | 3.0 |
Notes
- Latencies reported in seconds (converted from milliseconds)
- Values shown as mean ± standard deviation across multiple seeds
- Throughput = commits per second during steady-state window
- Success rate = percentage of transactions that committed successfully
- Mean retries = average number of retry attempts per committed transaction