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.68 ± 0.01 | 0.86 ± 0.10 | 1.14 ± 0.02 | 1.1 |
| 0.4 ± 0.0 | 100.0 ± 0.0 | 0.68 ± 0.00 | 1.11 ± 0.01 | 1.49 ± 0.08 | 1.1 |
| 0.8 ± 0.0 | 100.0 ± 0.0 | 0.69 ± 0.00 | 1.45 ± 0.03 | 1.92 ± 0.07 | 1.3 |
| 1.6 ± 0.0 | 99.3 ± 0.0 | 0.75 ± 0.01 | 2.55 ± 0.11 | 3.58 ± 0.08 | 2.0 |
| 2.0 ± 0.0 | 97.6 ± 0.2 | 1.04 ± 0.01 | 3.12 ± 0.09 | 4.05 ± 0.06 | 2.5 |
| 2.5 ± 0.0 | 90.3 ± 0.4 | 1.31 ± 0.09 | 3.79 ± 0.03 | 4.31 ± 0.01 | 3.3 |
| 3.0 ± 0.0 | 74.2 ± 0.6 | 1.73 ± 0.07 | 4.04 ± 0.04 | 4.37 ± 0.01 | 4.2 |
| 3.6 ± 0.0 | 43.6 ± 0.2 | 2.20 ± 0.02 | 4.22 ± 0.01 | 4.39 ± 0.01 | 5.0 |
| 3.8 ± 0.0 | 23.2 ± 0.1 | 2.28 ± 0.02 | 4.23 ± 0.01 | 4.39 ± 0.01 | 5.3 |
| 4.0 ± 0.0 | 9.8 ± 0.0 | 2.33 ± 0.03 | 4.24 ± 0.01 | 4.38 ± 0.01 | 5.4 |
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.68 ± 0.01 | 0.82 ± 0.04 | 1.09 ± 0.03 | 1.0 |
| 0.4 ± 0.0 | 100.0 ± 0.0 | 0.68 ± 0.00 | 1.04 ± 0.01 | 1.24 ± 0.04 | 1.1 |
| 0.8 ± 0.0 | 100.0 ± 0.0 | 0.69 ± 0.00 | 1.19 ± 0.03 | 1.63 ± 0.06 | 1.3 |
| 1.6 ± 0.0 | 99.9 ± 0.0 | 0.75 ± 0.01 | 1.76 ± 0.03 | 2.53 ± 0.10 | 1.8 |
| 2.0 ± 0.0 | 99.5 ± 0.2 | 0.90 ± 0.01 | 2.18 ± 0.08 | 3.09 ± 0.09 | 2.1 |
| 2.7 ± 0.0 | 97.1 ± 0.2 | 1.07 ± 0.01 | 2.85 ± 0.06 | 3.62 ± 0.08 | 2.9 |
| 3.5 ± 0.0 | 84.6 ± 0.4 | 1.48 ± 0.02 | 3.51 ± 0.01 | 3.95 ± 0.01 | 4.1 |
| 4.1 ± 0.0 | 50.3 ± 0.3 | 1.98 ± 0.02 | 3.83 ± 0.01 | 4.12 ± 0.01 | 5.1 |
| 4.4 ± 0.0 | 26.8 ± 0.1 | 2.08 ± 0.02 | 3.92 ± 0.01 | 4.17 ± 0.02 | 5.2 |
| 4.7 ± 0.0 | 11.5 ± 0.1 | 2.10 ± 0.01 | 3.98 ± 0.01 | 4.22 ± 0.01 | 5.2 |
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.67 ± 0.00 | 0.79 ± 0.01 | 0.97 ± 0.02 | 1.0 |
| 0.4 ± 0.0 | 100.0 ± 0.0 | 0.68 ± 0.00 | 0.96 ± 0.03 | 1.15 ± 0.04 | 1.1 |
| 0.8 ± 0.0 | 100.0 ± 0.0 | 0.69 ± 0.00 | 1.09 ± 0.02 | 1.40 ± 0.04 | 1.3 |
| 1.6 ± 0.0 | 100.0 ± 0.0 | 0.74 ± 0.01 | 1.40 ± 0.01 | 1.88 ± 0.07 | 1.6 |
| 2.0 ± 0.0 | 100.0 ± 0.0 | 0.88 ± 0.00 | 1.58 ± 0.04 | 2.18 ± 0.08 | 1.9 |
| 2.7 ± 0.0 | 99.7 ± 0.1 | 0.94 ± 0.00 | 1.98 ± 0.03 | 2.67 ± 0.10 | 2.4 |
| 4.0 ± 0.0 | 96.6 ± 0.3 | 1.19 ± 0.01 | 2.73 ± 0.02 | 3.32 ± 0.03 | 3.4 |
| 6.0 ± 0.0 | 73.7 ± 0.2 | 1.76 ± 0.01 | 3.32 ± 0.02 | 3.61 ± 0.01 | 5.0 |
| 7.1 ± 0.0 | 43.6 ± 0.1 | 2.11 ± 0.01 | 3.47 ± 0.00 | 3.70 ± 0.01 | 5.7 |
| 7.7 ± 0.0 | 18.8 ± 0.1 | 2.25 ± 0.01 | 3.57 ± 0.01 | 3.75 ± 0.01 | 6.0 |
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.66 ± 0.00 | 0.85 ± 0.03 | 1.00 ± 0.04 | 1.1 |
| 0.4 ± 0.0 | 100.0 ± 0.0 | 0.68 ± 0.00 | 0.93 ± 0.01 | 1.09 ± 0.06 | 1.1 |
| 0.8 ± 0.0 | 100.0 ± 0.0 | 0.69 ± 0.00 | 1.07 ± 0.03 | 1.32 ± 0.06 | 1.3 |
| 1.6 ± 0.0 | 100.0 ± 0.0 | 0.74 ± 0.00 | 1.29 ± 0.03 | 1.68 ± 0.03 | 1.6 |
| 2.1 ± 0.0 | 100.0 ± 0.0 | 0.87 ± 0.00 | 1.46 ± 0.02 | 1.92 ± 0.05 | 1.8 |
| 2.7 ± 0.0 | 99.8 ± 0.0 | 0.92 ± 0.01 | 1.77 ± 0.03 | 2.44 ± 0.07 | 2.3 |
| 4.0 ± 0.0 | 98.1 ± 0.1 | 1.11 ± 0.01 | 2.35 ± 0.02 | 2.97 ± 0.03 | 3.2 |
| 6.5 ± 0.0 | 78.9 ± 0.4 | 1.58 ± 0.01 | 3.01 ± 0.01 | 3.32 ± 0.01 | 4.8 |
| 7.6 ± 0.0 | 46.2 ± 0.2 | 1.91 ± 0.01 | 3.14 ± 0.01 | 3.36 ± 0.01 | 5.7 |
| 8.0 ± 0.0 | 19.4 ± 0.1 | 2.01 ± 0.01 | 3.17 ± 0.01 | 3.38 ± 0.01 | 5.9 |
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.65 ± 0.01 | 0.79 ± 0.01 | 0.96 ± 0.03 | 1.0 |
| 0.4 ± 0.0 | 100.0 ± 0.0 | 0.67 ± 0.00 | 0.93 ± 0.01 | 1.06 ± 0.07 | 1.1 |
| 0.8 ± 0.0 | 100.0 ± 0.0 | 0.69 ± 0.00 | 1.02 ± 0.02 | 1.24 ± 0.05 | 1.3 |
| 1.6 ± 0.0 | 100.0 ± 0.0 | 0.74 ± 0.01 | 1.24 ± 0.03 | 1.63 ± 0.03 | 1.6 |
| 2.0 ± 0.0 | 100.0 ± 0.0 | 0.87 ± 0.01 | 1.40 ± 0.02 | 1.85 ± 0.06 | 1.8 |
| 2.7 ± 0.0 | 99.9 ± 0.1 | 0.92 ± 0.00 | 1.63 ± 0.01 | 2.20 ± 0.08 | 2.2 |
| 4.0 ± 0.0 | 98.4 ± 0.1 | 1.04 ± 0.03 | 2.21 ± 0.03 | 2.78 ± 0.01 | 3.1 |
| 6.6 ± 0.0 | 80.4 ± 0.2 | 1.45 ± 0.01 | 2.83 ± 0.01 | 3.12 ± 0.01 | 4.7 |
| 7.7 ± 0.0 | 46.8 ± 0.2 | 1.86 ± 0.01 | 2.97 ± 0.00 | 3.17 ± 0.01 | 5.7 |
| 8.0 ± 0.0 | 19.6 ± 0.1 | 1.92 ± 0.00 | 2.99 ± 0.01 | 3.19 ± 0.01 | 6.0 |
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.58 ± 0.02 | 0.76 ± 0.01 | 0.91 ± 0.07 | 1.0 |
| 0.4 ± 0.0 | 100.0 ± 0.0 | 0.65 ± 0.00 | 0.90 ± 0.01 | 1.01 ± 0.04 | 1.1 |
| 0.8 ± 0.0 | 100.0 ± 0.0 | 0.68 ± 0.00 | 0.98 ± 0.01 | 1.20 ± 0.02 | 1.2 |
| 1.6 ± 0.0 | 100.0 ± 0.0 | 0.72 ± 0.00 | 1.20 ± 0.01 | 1.54 ± 0.05 | 1.6 |
| 2.1 ± 0.0 | 100.0 ± 0.0 | 0.84 ± 0.01 | 1.34 ± 0.04 | 1.73 ± 0.07 | 1.8 |
| 2.7 ± 0.0 | 99.8 ± 0.1 | 0.91 ± 0.00 | 1.61 ± 0.01 | 2.13 ± 0.03 | 2.2 |
| 4.0 ± 0.0 | 98.4 ± 0.2 | 0.98 ± 0.00 | 2.13 ± 0.01 | 2.73 ± 0.03 | 3.0 |
| 6.6 ± 0.0 | 80.6 ± 0.4 | 1.40 ± 0.00 | 2.76 ± 0.01 | 2.97 ± 0.01 | 4.6 |
| 7.7 ± 0.0 | 47.2 ± 0.1 | 1.85 ± 0.00 | 2.86 ± 0.00 | 3.03 ± 0.01 | 5.8 |
| 8.0 ± 0.0 | 19.6 ± 0.1 | 1.88 ± 0.00 | 2.88 ± 0.01 | 3.04 ± 0.01 | 6.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