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.33 ± 0.01 | 1.19 ± 0.38 | 4.51 ± 2.01 | 1.1 |
| 0.4 ± 0.0 | 100.0 ± 0.0 | 0.33 ± 0.00 | 2.35 ± 0.75 | 11.02 ± 2.45 | 1.1 |
| 0.8 ± 0.0 | 100.0 ± 0.0 | 0.33 ± 0.00 | 4.31 ± 0.47 | 24.55 ± 4.55 | 1.3 |
| 1.6 ± 0.0 | 100.0 ± 0.0 | 0.35 ± 0.00 | 10.14 ± 1.30 | 47.13 ± 7.84 | 1.5 |
| 2.0 ± 0.0 | 100.0 ± 0.0 | 0.36 ± 0.00 | 11.04 ± 1.04 | 52.62 ± 5.80 | 1.7 |
| 2.7 ± 0.0 | 99.7 ± 0.1 | 0.40 ± 0.00 | 14.70 ± 1.90 | 70.33 ± 6.57 | 2.0 |
| 4.0 ± 0.0 | 97.6 ± 0.1 | 0.49 ± 0.00 | 16.34 ± 0.94 | 94.83 ± 4.01 | 2.7 |
| 5.9 ± 0.0 | 72.4 ± 0.3 | 0.78 ± 0.00 | 1.78 ± 0.01 | 34.55 ± 6.60 | 4.4 |
| 6.8 ± 0.0 | 41.6 ± 0.3 | 0.90 ± 0.00 | 1.75 ± 0.00 | 1.93 ± 0.01 | 5.0 |
| 7.7 ± 0.0 | 18.8 ± 0.1 | 0.96 ± 0.01 | 1.75 ± 0.00 | 1.89 ± 0.01 | 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.33 ± 0.00 | 0.77 ± 0.10 | 2.20 ± 0.51 | 1.0 |
| 0.4 ± 0.0 | 100.0 ± 0.0 | 0.33 ± 0.00 | 1.32 ± 0.31 | 5.26 ± 0.79 | 1.1 |
| 0.8 ± 0.0 | 100.0 ± 0.0 | 0.33 ± 0.00 | 2.87 ± 0.44 | 12.67 ± 1.35 | 1.2 |
| 1.6 ± 0.0 | 100.0 ± 0.0 | 0.34 ± 0.00 | 4.28 ± 0.09 | 21.70 ± 1.96 | 1.4 |
| 2.1 ± 0.0 | 100.0 ± 0.0 | 0.34 | 6.06 ± 0.76 | 28.11 ± 3.40 | 1.5 |
| 2.7 ± 0.0 | 100.0 ± 0.0 | 0.34 ± 0.00 | 8.19 ± 0.86 | 37.66 ± 1.74 | 1.7 |
| 4.1 ± 0.0 | 100.0 ± 0.0 | 0.36 ± 0.00 | 11.95 ± 0.93 | 56.77 ± 5.13 | 2.0 |
| 7.9 ± 0.1 | 96.9 ± 0.1 | 0.49 ± 0.00 | 15.51 ± 2.03 | 92.81 ± 5.63 | 3.3 |
| 11.7 ± 0.0 | 71.4 ± 0.2 | 0.75 ± 0.00 | 1.66 ± 0.01 | 31.95 ± 3.58 | 5.0 |
| 13.8 ± 0.1 | 33.8 ± 0.1 | 0.87 ± 0.00 | 1.63 ± 0.00 | 1.80 ± 0.00 | 5.6 |
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.32 ± 0.00 | 0.51 ± 0.06 | 1.17 ± 0.15 | 1.0 |
| 0.4 ± 0.0 | 100.0 ± 0.0 | 0.33 ± 0.00 | 0.81 ± 0.14 | 2.34 ± 0.34 | 1.1 |
| 0.8 ± 0.0 | 100.0 ± 0.0 | 0.33 ± 0.00 | 1.23 ± 0.15 | 5.02 ± 1.15 | 1.2 |
| 1.7 ± 0.0 | 100.0 ± 0.0 | 0.33 ± 0.00 | 2.14 ± 0.27 | 8.52 ± 0.93 | 1.3 |
| 2.1 ± 0.0 | 100.0 ± 0.0 | 0.33 ± 0.00 | 2.61 ± 0.33 | 11.27 ± 1.50 | 1.4 |
| 2.8 ± 0.0 | 100.0 ± 0.0 | 0.33 ± 0.00 | 3.24 ± 0.22 | 14.57 ± 1.24 | 1.5 |
| 4.1 ± 0.0 | 100.0 ± 0.0 | 0.34 ± 0.00 | 5.00 ± 0.31 | 22.25 ± 0.66 | 1.7 |
| 8.2 ± 0.0 | 100.0 ± 0.0 | 0.35 ± 0.00 | 9.56 ± 0.50 | 44.63 ± 2.07 | 2.2 |
| 16.2 ± 0.1 | 98.9 ± 0.1 | 0.44 ± 0.00 | 16.45 ± 1.22 | 84.70 ± 3.05 | 3.2 |
| 29.1 ± 0.0 | 71.0 ± 0.1 | 0.74 ± 0.01 | 1.62 ± 0.01 | 30.89 ± 3.03 | 5.1 |
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.31 ± 0.01 | 0.45 ± 0.01 | 0.75 ± 0.14 | 1.0 |
| 0.4 ± 0.0 | 100.0 ± 0.0 | 0.32 ± 0.00 | 0.55 ± 0.07 | 1.54 ± 0.25 | 1.1 |
| 0.8 ± 0.0 | 100.0 ± 0.0 | 0.33 ± 0.00 | 0.75 ± 0.07 | 2.53 ± 0.30 | 1.2 |
| 1.6 ± 0.0 | 100.0 ± 0.0 | 0.33 ± 0.00 | 1.18 ± 0.23 | 4.33 ± 0.55 | 1.3 |
| 2.1 ± 0.0 | 100.0 ± 0.0 | 0.33 ± 0.00 | 1.50 ± 0.25 | 6.02 ± 0.95 | 1.4 |
| 2.7 ± 0.0 | 100.0 ± 0.0 | 0.33 ± 0.00 | 1.82 ± 0.15 | 7.38 ± 0.72 | 1.5 |
| 4.1 ± 0.0 | 100.0 ± 0.0 | 0.33 ± 0.00 | 2.49 ± 0.17 | 11.19 ± 0.33 | 1.6 |
| 8.2 ± 0.0 | 100.0 ± 0.0 | 0.34 ± 0.00 | 4.60 ± 0.45 | 21.64 ± 0.75 | 2.0 |
| 16.4 ± 0.0 | 100.0 ± 0.0 | 0.35 ± 0.00 | 9.42 ± 0.39 | 45.69 ± 2.35 | 2.5 |
| 39.6 ± 0.1 | 96.6 ± 0.1 | 0.50 ± 0.00 | 15.16 ± 0.14 | 93.83 ± 2.33 | 3.7 |
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.29 ± 0.01 | 0.44 ± 0.02 | 0.58 ± 0.10 | 1.0 |
| 0.4 ± 0.0 | 100.0 ± 0.0 | 0.31 ± 0.00 | 0.47 ± 0.01 | 0.89 ± 0.13 | 1.1 |
| 0.8 ± 0.0 | 100.0 ± 0.0 | 0.32 ± 0.00 | 0.56 ± 0.05 | 1.25 ± 0.18 | 1.1 |
| 1.6 ± 0.0 | 100.0 ± 0.0 | 0.33 ± 0.00 | 0.79 ± 0.11 | 2.57 ± 0.20 | 1.3 |
| 2.0 ± 0.0 | 100.0 ± 0.0 | 0.33 ± 0.00 | 0.88 ± 0.06 | 3.01 ± 0.29 | 1.3 |
| 2.7 ± 0.0 | 100.0 ± 0.0 | 0.33 ± 0.00 | 1.05 ± 0.07 | 4.03 ± 0.26 | 1.4 |
| 4.1 ± 0.0 | 100.0 ± 0.0 | 0.33 ± 0.00 | 1.38 ± 0.09 | 5.72 ± 0.27 | 1.6 |
| 8.2 ± 0.0 | 100.0 ± 0.0 | 0.33 ± 0.00 | 2.62 ± 0.13 | 11.51 ± 0.40 | 1.9 |
| 16.4 ± 0.0 | 100.0 ± 0.0 | 0.34 ± 0.00 | 4.80 ± 0.16 | 21.84 ± 1.05 | 2.2 |
| 41.0 ± 0.1 | 99.9 ± 0.0 | 0.37 ± 0.00 | 11.97 ± 0.12 | 56.58 ± 0.50 | 2.7 |
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.23 ± 0.01 | 0.39 ± 0.01 | 0.45 ± 0.01 | 1.0 |
| 0.4 ± 0.0 | 100.0 ± 0.0 | 0.29 ± 0.00 | 0.43 ± 0.01 | 0.56 ± 0.03 | 1.1 |
| 0.8 ± 0.0 | 100.0 ± 0.0 | 0.31 ± 0.00 | 0.46 ± 0.02 | 0.78 ± 0.07 | 1.1 |
| 1.6 ± 0.0 | 100.0 ± 0.0 | 0.32 ± 0.00 | 0.51 ± 0.01 | 1.16 ± 0.08 | 1.2 |
| 2.1 ± 0.0 | 100.0 ± 0.0 | 0.32 ± 0.00 | 0.55 ± 0.02 | 1.48 ± 0.16 | 1.3 |
| 2.7 ± 0.0 | 100.0 ± 0.0 | 0.32 ± 0.00 | 0.63 ± 0.02 | 1.75 ± 0.09 | 1.4 |
| 4.1 ± 0.0 | 100.0 ± 0.0 | 0.33 ± 0.00 | 0.78 ± 0.05 | 2.54 ± 0.07 | 1.5 |
| 8.2 ± 0.1 | 100.0 ± 0.0 | 0.33 ± 0.00 | 1.21 ± 0.07 | 4.84 ± 0.18 | 1.8 |
| 16.4 ± 0.1 | 100.0 ± 0.0 | 0.33 ± 0.00 | 2.16 ± 0.03 | 9.27 ± 0.22 | 2.1 |
| 41.0 ± 0.1 | 100.0 ± 0.0 | 0.34 ± 0.00 | 4.85 ± 0.11 | 22.15 ± 0.19 | 2.3 |
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